打开视频时耳机里没有声音

时间:2017-11-10 08:29:54

标签: ios webrtc avaudiosession

我将'webRTC'添加到我的应用程序中。我在打开视频之前插上耳机,耳机里没有声音,声音从扬声器中传出。但是,我打开视频后插上耳机,声音来自耳机。我在网上搜索了很长时间。但没用。请帮助或尝试提供一些如何实现这一点的想法。这是我的代码:

[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];

而且,当我尝试这样编码时,它不起作用:

 BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord mode:AVAudioSessionModeVideoChat options:AVAudioSessionCategoryOptionDefaultToSpeaker error:&error];

1 个答案:

答案 0 :(得分:1)

看起来您正在使用overrideSpeaker作为默认值。 你只需要使用overrideOutputAudioPort。 使用我所面对的扬声器和辅助扬声器时有一些关键点。

  1. 当您想要从Loudspeaker用户路由音频时

    [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker 误差:无];

    如果您想使用辅助扬声器或外围设备使用。

    [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone 误差:无];

  2. 虽然信号处理工作正在进行(创建/接受提供和回答) 默认扬声器路由应该在AVAudioSessionPortOverrideNone上。或者它将自动更改为AVAudioSessionPortOverrideNone。
  3. 您可以在应用程序中使用overrideOutputAudioPort方法更改音频路径。

    希望它会对你有所帮助。