Ios7 音频输出选择

Ios7 音频输出选择,ios7,avfoundation,core-audio,audiounit,avaudiosession,Ios7,Avfoundation,Core Audio,Audiounit,Avaudiosession,如果iPhone上连接了多个输入和输出附件,我希望用户能够手动选择输入和输出源。我可以通过查询[[AVAudioSession sharedInstance]availableInputs]然后在iOS 7中使用setPreferredInput:error方法手动选择输入,但我找不到任何类似的输出。我如何做到这一点?我使用的是Play和Record类别。苹果不希望开发者通过编程更改输出路径/音量。也许MPVolumeView是你的选择 添加MPVolumeView,然后将其ShowsRoute

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

苹果不希望开发者通过编程更改输出路径/音量。也许MPVolumeView是你的选择

添加MPVolumeView,然后将其ShowsRoute按钮设置为YES

说明:“当有多个音频输出路由可用时,路由按钮默认可见。”

像这样:

编辑: 虽然苹果不希望开发者通过编程改变输出路径,但有时我们仍然可以在iPhone未连接耳机/耳机时强制改变输出路径:

AVAudioSession* session = [AVAudioSession sharedInstance];
[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
[session setActive:YES error:nil];

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

您可以通过呼叫获取可用输出,然后使用更改。

此功能仅在某些USB附件上受支持。这听起来不太有希望。