首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVAudioSession输出选择

AVAudioSession输出选择
EN

Stack Overflow用户
提问于 2015-05-02 14:54:15
回答 2查看 2.3K关注 0票数 3

如果多个输入和输出附件连接到iPhone,我希望用户能够手动选择输入和输出源。我可以通过查询[AVAudioSession sharedInstance availableInputs],然后使用iOS 7中的setPreferredInput:error方法来手动选择输入,但我找不到类似的输出。我该如何实现这一点?我使用的是PlayAndRecord类别。

EN

回答 2

Stack Overflow用户

发布于 2015-05-11 16:57:08

Apple不希望开发人员以编程方式更改输出路由/音量。也许MPVolumeView是你的选择。

添加一个MPVolumeView,然后将其showsRouteButton设置为YES。

The Apple Documentation说,“当有多个音频输出路由可用时,路由按钮默认是可见的。”

如下所示:

编辑:虽然苹果不希望开发人员通过编程更改输出路由,但有时当iPhone没有连接到耳机/耳机时,我们仍然可以强制更改输出路由:

代码语言:javascript
复制
AVAudioSession* session = [AVAudioSession sharedInstance];
[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
[session setActive:YES error:nil];

这仅在iPhone未连接到头戴式耳机/头戴式耳机时生效。

票数 1
EN

Stack Overflow用户

发布于 2017-04-10 21:06:39

您可以通过调用output​Data​Sources并使用set​Output​Data​Source更改它来获得可用的输出。

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

https://stackoverflow.com/questions/29999393

复制
相关文章

相似问题

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