воспроизводить несколько файлов WAV, используя DirectShow одновременно и записывать их C ++ - PullRequest
0 голосов
/ 04 ноября 2011

Я хотел бы создать пример приложения для одновременного воспроизведения нескольких файлов WAV в C ++. Когда файл начал воспроизводиться, мне нужно записать «звук, аудио» всех воспроизводимых файлов wav. Другими словами, это смешивать их во время игры.

Я новичок в DirectX и не знаю, какой компонент DirectX мне следует использовать для этого:

Я только что проверил эту ссылку: http://www.mycplus.com/tutorials/microsoft-direct-x-programming/directx-components/

Я должен использовать:

  • DirectShow для воспроизведения нескольких файлов WAV
  • Как насчет записи их, какой компонент в DirectX мне следует использовать?

Если есть пример приложения с открытым исходным кодом, я также хотел бы знать. Это было бы лучше всего с некоторым примером исходного кода с курса.

Заранее спасибо.

1 Ответ

2 голосов
/ 04 ноября 2011

Frist of all, DirectShow не является частью DirectX.Вместо этого он является частью основного пакета Windows SDK и компонентов (не путайте с префиксом «Direct-»).

Windows SDK поставляется с отличным инструментом: GraphEdit.Это также описано в MSDN: Использование GraphEdit .

Вы можете построить график мульти-воспроизведения прямо здесь без программирования и получить базовое представление о том, как все работает.Вы также сможете сделать то же самое в коде.

Запись может быть более хитрой, и об этом мы поговорим позже.Вы решите, используете ли вы сжатие или сейчас, какой формат вы предпочитаете.Для простого PCM .WAV вам потребуется дополнительный фильтр, который доступен в качестве образца из Windows SDK или более ранней версии: Пример фильтра WavDest .

...