Как направить аудиовыход на выбранную конечную точку / устройство для воспроизведения звука в Windows?

#windows #audio #uwp #media-player #playback

#Windows #Аудио #uwp #медиаплеер #воспроизведение

Вопрос:

TL; DR: При воспроизведении звука с помощью Windows UWP MediaPlayer как направить звук на определенное аудиоустройство / конечную точку?

Полный контекст

Я работаю над приложением для совершения вызовов. Некоторые требования:

  • Воспроизведение звуковых звуков в разных точках (например, при зависании вызова)
  • Разрешить пользователям изменять аудиовыход при вызове на разные конечные точки (не проблема)
  • Убедитесь, что при передаче звука во время вызова на другую конечную точку «по умолчанию» любые другие воспроизводимые звуки перенаправляются на ту же конечную точку (это то, с чем мне нужна помощь)

В настоящее время, когда я перенаправляю аудио на другую конечную точку, другие звуки, воспроизводимые с помощью Windows UWP MediaPlayer, не перенаправляются на ту же «новую» конечную точку. Это имеет смысл, поскольку мы не меняем настройки всего приложения.

Мой вопрос: как мне перенаправить аудио на ту же конечную точку, через которую проходит звук вызова, учитывая, что я использую медиаплеер Windows UWP и учитывая, что я могу получить информацию об устройстве?

Комментарии:

1. Работает ли следующее, и есть ли у вас какие-либо обновления?

Ответ №1:

При воспроизведении звука с помощью медиаплеера Windows UWP, как мне перенаправить звук на определенное аудиоустройство / конечную точку?

Пожалуйста, проверьте вывод в определенный документ конечной точки аудио. По умолчанию аудиовыход с МедиаПлеера направляется на конечную точку воспроизведения звука по умолчанию для системы, но вы можете указать конкретную конечную точку воспроизведения звука, которую медиаплеер должен использовать для вывода.Вы могли бы использовать GetAudioRenderSelector для получения селектора рендеринга, а затем использовать FindAllAsync для получения устройства рендеринга свойство передачи конкретного устройства в mediaplayer AudioDevice .

Комментарии:

1. К сожалению, в моем случае это не сработает, потому что в аудио при вызове используются API MMDevice, а в звуковом проигрывателе используется UWP MediaPlayer. Я думаю, что идентификаторы устройств различаются между двумя? Это означает, что мне придется стандартизировать API-интерфейсы MMDevice и использовать API-интерфейсы win32 … если я чего-то не упустил.