audio - 将音频输出切换到扬声器

标签 audio uwp voip

我致力于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/

相关文章:

java - 获取计算机的音频输出

java - 需要此流程的帮助(AudioInputStream -> byte Array -> AudioOutputStream)

audio - FFMPEG - 如何在不转码的情况下将与视频分离的音频流保存到文件中

c# - 属性更改时 UI 不更新

uwp - 是否可以将代码中的属性设置为 "x:Bind"?

ios - ios 如何在去电时播放来电铃声?

ios - 使用 linphone ios sdk 的冲突类型错误

ios - 需要做什么才能遵守 iOS 上 voip 应用程序的音量/铃声设置?

c++ - 如何查看新添加的焊盘类型?

visual-studio - UWP 和 Xamarin 构建失败且没有输出