如果 iPhone 连接了多个输入和输出附件,我希望用户能够手动选择输入和输出源。我可以通过查询 [[AVAudioSession sharedInstance] availableInputs] 手动选择输入,然后在 iOS 7 中使用 setPreferredInput:error 方法,但我找不到类似的输出。我如何实现这一目标?我正在使用 PlayAndRecord 类别。
最佳答案
Apple 不希望开发人员以编程方式更改输出路径/音量。也许 MPVolumeView 是您的选择。
添加一个 MPVolumeView,然后将其 showsRouteButton 设置为 YES。
The Apple Documentation说,“当有多个音频输出路由可用时,路由按钮默认可见。”
像这样:
编辑: 虽然 Apple 不希望开发者以编程方式改变输出路径,但有时我们仍然可以在 iPhone 未连接耳机/耳机时强行改变输出路径:
AVAudioSession* session = [AVAudioSession sharedInstance];
[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
[session setActive:YES error:nil];
这仅在 iPhone 未连接耳机/耳机时生效。
关于ios7 - AVAudioSession 输出选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29999393/