我将'webRTC'添加到我的应用程序中。我在打开视频之前插上耳机,耳机里没有声音,声音从扬声器中传出。但是,我打开视频后插上耳机,声音来自耳机。我在网上搜索了很长时间。但没用。请帮助或尝试提供一些如何实现这一点的想法。这是我的代码:
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
而且,当我尝试这样编码时,它不起作用:
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord mode:AVAudioSessionModeVideoChat options:AVAudioSessionCategoryOptionDefaultToSpeaker error:&error];
答案 0 :(得分:1)
看起来您正在使用overrideSpeaker作为默认值。 你只需要使用overrideOutputAudioPort。 使用我所面对的扬声器和辅助扬声器时有一些关键点。
当您想要从Loudspeaker用户路由音频时
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker 误差:无];
如果您想使用辅助扬声器或外围设备使用。
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone 误差:无];
您可以在应用程序中使用overrideOutputAudioPort方法更改音频路径。
希望它会对你有所帮助。