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