AVPlayer聲源幾種方式:
AVAudioSessionCategoryAmbient 或 kAudioSessionCategory_AmbientSound
———用于非以語音為主的應(yīng)用,使用這個category的應(yīng)用會隨著靜音鍵和屏幕關(guān)閉而靜音。并且不會中止其它應(yīng)用播放聲音,可以和其它自帶應(yīng)用如iPod,safari等同時播放聲音。注意:該Category無法在后臺播放聲音
AVAudioSessionCategorySoloAmbient 或 kAudioSessionCategory_SoloAmbientSound
———類似于AVAudioSessionCategoryAmbient 不同之處在于它會中止其它應(yīng)用播放聲音。 這個category為默認category。該Category無法在后臺播放聲音
AVAudioSessionCategoryPlayback 或 kAudioSessionCategory_MediaPlayback
———用于以語音為主的應(yīng)用,使用這個category的應(yīng)用不會隨著靜音鍵和屏幕關(guān)閉而靜音。可在后臺播放聲音
AVAudioSessionCategoryRecord 或 kAudioSessionCategory_RecordAudio
———用于需要錄音的應(yīng)用,設(shè)置該category后,除了來電鈴聲,鬧鐘或日歷提醒之外的其它系統(tǒng)聲音都不會被播放。該Category只提供單純錄音功能。
AVAudioSessionCategoryPlayAndRecord 或 kAudioSessionCategory_PlayAndRecord
———用于既需要播放聲音又需要錄音的應(yīng)用,語音聊天應(yīng)用(如微信)應(yīng)該使用這個category。該Category提供錄音和播放功能。如果你的應(yīng)用需要用到iPhone上的聽筒,該category是你唯一的選擇,在該Category下聲音的默認出口為聽筒(在沒有外接設(shè)備的情況下)。
#import <AVFoundation/AVFAudio.h>
//設(shè)置聲音模式,在播放器頁面直接調(diào)用這個方法(根據(jù)自己的需求設(shè)置模式即可)
- (void)setVolume{
NSError *setCategoryError = nil;
BOOL success = [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient
error: &setCategoryError];
if (!success) {
NSLog(@"設(shè)置失敗,其他處理!");
}
}