Я хочу играть звук «по требованию». Я хочу программировать простую драм-машину.Сделайте DirectShow воспроизведением звука из буфера памяти
Можно ли сделать DirectShow чтения из буфера памяти (объект, созданный с ++)
Я имею в виду:
Создать буфер, позволяет сказать, 40000 позиций, тип double
(я не Не знаю, какой тип данных использовать в качестве звука, поэтому я могу ошибаться в double
).
40000 позиций может составлять 1 секунду воспроизведения.
Объект DirectShow должен читать эту позицию буфера по положению снова и снова. и буфер будет содержать фактическое значение выхода звука. Например, (синусоидальный выход):
{0, 0.4, 0.7, 0.9, 0.99, 0.9, 0.7, 0.4, 0, -0,4, -0.7, -0.9, -0.99, -0.9, -0.7, -0.4, 0}
Разрешение этой звуковой последовательности, вероятно, не очень хорошо, но это только для отображения того, что я имею в виду.
Возможно ли это? Я не могу найти никаких примеров или информации об этом в Google.
Редактировать: При работе с DirectShow и потоковым видео (камера UBS) я использовал что-то под названием Sample Grabber. Это называется методом для каждого кадра с камеры. Я ищу что-то подобное, но для музыки, и что-то, что вызывается до того, как музыка будет воспроизведена. Thanks
меня Буфер Источник фильтра (только 32-разрядный). Это исходный фильтр, который содержит COM-интерфейс, который вы можете вызвать для ввода данных в него. Если хотите, дайте мне знать. –