美文网首页
iOS APP语音通话过程中蓝牙耳机切换听筒或扬声器

iOS APP语音通话过程中蓝牙耳机切换听筒或扬声器

作者: 一只搬运工的自我修养 | 来源:发表于2022-11-01 10:31 被阅读0次

iOS APP语音通话过程中蓝牙耳机切换听筒或扬声器

最近在基于sip 写语音通话功能,app需要兼容蓝牙耳机,中间出现过好多莫名其妙的问题 ,这是研究过程中踩过的坑

1、实时通话,需要设置CategoryAVAudioSessionCategoryPlayAndRecord,这个不要改变,否则会出现各种没声音的问题。

2、适配蓝牙耳机的时候,不需要专门修改optionsAVAudioSessionCategoryOptionAllowBluetooth

蓝牙状态下 切换到听筒、扬声器、切回
切换听筒!!

        NSArray* builtinRoutes = @[AVAudioSessionPortBuiltInMic];
        NSArray* routes = [[AVAudioSession sharedInstance] availableInputs];
        AVAudioSessionPortDescription* builtinPort;
        for (AVAudioSessionPortDescription* route in routes){
            if ([builtinRoutes containsObject:route.portType])
            {
                builtinPort = route;
            }
        }
        [[AVAudioSession sharedInstance] setPreferredInput:builtinPort error:nil];

切换扬声器!!

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

切换回蓝牙!!!

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

感谢原文:https://blog.csdn.net/u014274590/article/details/81098135

相关文章

网友评论

      本文标题:iOS APP语音通话过程中蓝牙耳机切换听筒或扬声器

      本文链接:https://www.haomeiwen.com/subject/duhjtdtx.html