DirectX.Звук в WPF

Я хочу воспроизводить Tones в WPF со звуковой карты (не системного динамика). Я разочарован, обнаружив, что, кроме воспроизведения звукового сигнала или файла wav, WPF не имеет собственного способа воспроизведения простых звуковых частот. т.е. воспроизведение (частота, продолжительность);

Изучая использование DirectX DirectSound, я столкнулся с проблемой, связанной с тем, как WPF обрабатывает Windows, поскольку Direct X нуждается в дескрипторе Windows Form.

У кого-нибудь есть решение для воспроизведения тонов в WPF?


person PrimeTSS    schedule 13.08.2009    source источник
comment
Я бы не ожидал, что WPF (или любой другой современный фреймворк) сможет генерировать такие простые тона. Для него не так много практического применения, и относительно легко создать и воспроизвести собственный файл WAV, содержащий тон.   -  person MusiGenesis    schedule 13.08.2009
comment
Не уверен, что для него нет практического применения, скажем, вы хотите выводить разные частоты и формы волны из звуковой карты, например, аудиогенератор. Кажется немного неэффективным с точки зрения ресурсов, чтобы сначала создать файл WAV, а затем воспроизвести его. Особенно, если вы хотите изменить его на лету!   -  person PrimeTSS    schedule 13.08.2009
comment
@Prime: очевидно, есть практическое применение для программного синтеза (это то, чем я зарабатываю на жизнь), но это включает в себя гораздо больше, чем просто простой тон с частотой и продолжительностью, о чем, как я думал, вы спрашивали. Если вас действительно интересует синтез звука, я бы задал другой вопрос.   -  person MusiGenesis    schedule 13.08.2009
comment
Вы должны принять ответы на свои вопросы, щелкнув зеленую галочку рядом с вашим любимым ответом на каждый вопрос. Это повысит вероятность того, что люди ответят на ваши вопросы в будущем, а также повысит вашу репутацию.   -  person SLaks    schedule 07.10.2009


Ответы (2)


Вы всегда можете использовать WindowInteropHelper собственный дескриптор вашего окна WPF.

person Community    schedule 13.08.2009
comment
Я использовал это, чтобы получить дескриптор окна WPF для других вещей DirectX/XNA. - person SteveM; 13.08.2009

Вы можете использовать WindowformHost для создания элемента управления формой окна, а затем передать дескриптор этого элемента управления в DirectSound, я сделал это с DirectShow, он показывает видео и воспроизводит звук для меня.

person Firoz    schedule 15.08.2009