iOS开发-iphone和ipad在AudioSessionCategory上选择的区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/shengpeng3344/article/details/102571673

最近在开发ipad音频应用时发现,AVAudioSessionCategoryPlayAndRecord并不适合ipad,一进去声音特别小,像听筒播放,比AVAudioSessionCategoryPlayback来说低了不止一个档次。

而iphone在AVAudioSessionCategoryPlayAndRecord情况下却表现正常,在AVAudioSessionCategoryPlayback模式下为听筒。

没有找到详细的说明,以及区分文档。大神们如果有链接请帮忙附上

只能区别ipad和iphone进行两套session赋值

		if ([[UIDevice currentDevice].model isEqualToString:@"iPad"]) {
            if (audioSession.category != AVAudioSessionCategoryPlayback){
                [audioSession setCategory:AVAudioSessionCategoryPlayback
                              withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionAllowBluetooth
                                    error:nil];
            }
        }else {
            if (audioSession.category != AVAudioSessionCategoryPlayAndRecord) { //不是录音则可以设置,录音的自己会还原
                if (audioSession.category != AVAudioSessionCategoryPlayback){
                    [audioSession setCategory:AVAudioSessionCategoryPlayback
                                  withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker |AVAudioSessionCategoryOptionAllowBluetooth|AVAudioSessionCategoryOptionMixWithOthers
                                        error:nil];
                }
            }else {
                [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord
                              withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker |AVAudioSessionCategoryOptionAllowBluetooth|AVAudioSessionCategoryOptionMixWithOthers
                                    error:nil];
            }
        }

ipad端:在仅仅播放时候,设置AVAudioSessionCategoryPlayback,录音时切换为AVAudioSessionCategoryPlayAndRecord

iphone端:在播放和录音时都为AVAudioSessionCategoryPlayAndRecord

猜你喜欢

转载自blog.csdn.net/shengpeng3344/article/details/102571673
今日推荐