开关音频输出到扬声器
问题描述:
我工作在自己的专用VoIP客户端上W10移动&桌面。基本的东西工作正常。开关音频输出到扬声器
但是我无法将音频输出到我的旧Lumia上的扬声器。
foreach (var item in (await DeviceInformation.FindAllAsync(DeviceClass.AudioRender)).Where(i => i.Name.Contains("Speakers")))
RendererId = item.Id;
设备列表中有“扬声器(WaveRT)”,因此RendererId有效。
后来的应用程序尝试使用RendererId打开音频设备(WSAPI)。但无论如何,手机只能播放接收器。
我修改了Voip示例应用程序,试图重现问题 - 是的,它也发生在Voip示例应用程序中。
我的同事确认他在手机上有同样的问题。
是否可以通过扬声器为voip应用播放音频?
谢谢!
答
仅在电话设备上,您可以使用AudioRoutingManager更改音频输出。
// to get the audio manager
IsAudioRoutingSupported = ApiInformation.IsApiContractPresent(typeof(PhoneContract).FullName, 1);
if(IsAudioRoutingSupported)
{
// audio routing is supported, we register for the output change events
m_audioRoutingManager = AudioRoutingManager.GetDefault();
m_audioRoutingManager.AudioEndpointChanged += OnAudioEndpointChanged;
}
// to change to output
m_audioRoutingManager.SetAudioEndpoint(AudioRoutingEndpoint.Speakerphone);
没错。谢谢!它适用于我的Lumia 630。 – Dmytro