将音频输出切换到扬声器

Switch audio output to speakers

我在自己的 W10 移动和桌面专用 VoIP 客户端上工作。基本功能正常。

但是我无法将音频输出到我的旧 Lumia 上的扬声器。

foreach (var item in (await DeviceInformation.FindAllAsync(DeviceClass.AudioRender)).Where(i => i.Name.Contains("Speakers")))   
             RendererId = item.Id;

设备列表中有 "Speakers (WaveRT)",因此 RendererId 有效。

稍后应用程序尝试使用找到的 RendererId 打开音频设备 (WSAPI)。但无论如何 phone 只播放给接收者。

我修改了 Voip 示例应用程序以尝试重现问题 - 是的,它也发生在 Voip 示例应用程序中。

我的同事证实他的 phone 也有同样的问题。

voip 应用程序是否可以通过扬声器播放音频?

谢谢!

仅在 Phone 设备上,您可以使用 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);