首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在windows phone 8应用程序中仅通过耳机播放音频

如何在windows phone 8应用程序中仅通过耳机播放音频
EN

Stack Overflow用户
提问于 2013-02-04 18:43:20
回答 2查看 2.1K关注 0票数 5

我曾尝试使用AudioRoutingManager class...but,但遇到了未授权访问异常。以下是我的代码

代码语言:javascript
复制
 AudioRoutingManager audioRouting = AudioRoutingManager.GetDefault();
    public AudioRoutingEndpoint ChangeAudioRoute()
    {

       var currentEndPoint= audioRouting.GetAudioEndpoint();
       switch (currentEndPoint)
       {
           case AudioRoutingEndpoint.Earpiece:
           case AudioRoutingEndpoint.Default:
               return AudioRoutingEndpoint.Speakerphone;

           case AudioRoutingEndpoint.Speakerphone:
               return AudioRoutingEndpoint.Earpiece;

               default:
               throw new OperationCanceledException();
       }
    }

    public void SetAudioRoute()
    {
        audioRouting.SetAudioEndpoint(this.ChangeAudioRoute());
    }

EN

回答 2

Stack Overflow用户

发布于 2013-03-07 06:16:31

Windows.Phone.Media.Devices名称空间中的API需要ID_CAP_AUDIOROUTING和ID_CAP_VOIP功能。(将此添加到您的清单中)

此外,只有在活动的VOIP呼叫中才能更改音频路由。

此外,您需要在后台VOIP进程中进行音频路由,而不是在前台进程中。

票数 8
EN

Stack Overflow用户

发布于 2015-04-25 02:40:56

这是个老问题,但现在我知道答案了。

你需要做的两件事:

将有问题的音频标记为"communications"的

如何做到这一点取决于您所使用的API。它可以像这样简单。或者,您可能必须使用AudioClientProperties.eCategory = AudioCategory_Communications的AudioClientProperties结构调用IAudioClient2::SetClientProperties。

  1. 将您的应用程序标记为"voice over IP“应用程序或"voicemail”应用程序您应将名为WindowsPhoneReservedAppInfo.xml的文件添加到包含以下内容的项目中:

在这里可以找到更详细的解释:

Playing audio to the earpiece from a Windows Phone 8.1 universal app

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14685019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档