版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
最近在开发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