我致力于W10移动和台式机的专用VoIP客户端。基本的工作正常。
但是,我无法将音频输出到旧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);
关于audio - 将音频输出切换到扬声器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38241533/