當應用程序掛起,而不是徹底退出時,此應用程序的所有有效性將被暫停,這時候如果需要播放音頻或者是視頻,就需要激活播放“單例程”,以確保播放模塊不會被掛起。讓音頻或者是視頻繼續在後台播放,而不因為程序的掛起而終止。只需要在程序中的相應位置加如下代碼:
NSError *myErr;
BOOL bAudioInputAvailable = FALSE;
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
bAudioInputAvailable = [audioSession inputIsAvailable];
if (bAudioInputAvailable)
{
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&myErr];
}
else
{
[audioSession setCategory:AVAudioSessionCategoryPlayback error:&myErr];
}
注意一定要在播放代碼模塊或者是在播放開始時執行上面的代碼,否則無效。
這樣,即使是鎖屏,卻不影響音樂播放。
摘自 雲懷空-abel