如果多个输入和输出附件连接到iPhone,我希望用户能够手动选择输入和输出源。我可以通过查询[AVAudioSession sharedInstance availableInputs],然后使用iOS 7中的setPreferredInput:error方法来手动选择输入,但我找不到类似的输出。我该如何实现这一点?我使用的是PlayAndRecord类别。
发布于 2015-05-11 16:57:08
Apple不希望开发人员以编程方式更改输出路由/音量。也许MPVolumeView是你的选择。
添加一个MPVolumeView,然后将其showsRouteButton设置为YES。
The Apple Documentation说,“当有多个音频输出路由可用时,路由按钮默认是可见的。”
如下所示:

编辑:虽然苹果不希望开发人员通过编程更改输出路由,但有时当iPhone没有连接到耳机/耳机时,我们仍然可以强制更改输出路由:
AVAudioSession* session = [AVAudioSession sharedInstance];
[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
[session setActive:YES error:nil];这仅在iPhone未连接到头戴式耳机/头戴式耳机时生效。
发布于 2017-04-10 21:06:39
您可以通过调用outputDataSources并使用setOutputDataSource更改它来获得可用的输出。
https://stackoverflow.com/questions/29999393
复制相似问题