首页 文章

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

提问于
浏览
0

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

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

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

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

1 回答

  • 1

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

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

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

    如果你想使用辅助扬声器或外部外围设备使用 .

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

    • 当信令过程正在工作时(创建/接受提供和回答)默认扬声器路由应该在AVAudioSessionPortOverrideNone上 . 或者它将自动更改为AVAudioSessionPortOverrideNone .

    • 您可以通过在应用程序内使用overrideOutputAudioPort方法来更改音频路由 .

    希望它会对你有所帮助 .

相关问题