當iPhone自動鎖定或用戶鎖定手機時,如何繼續iPhone中的音頻播放?iPhone鎖定時繼續音頻播放
我已經嘗試過
session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:NULL];
,但似乎並沒有工作。
當iPhone自動鎖定或用戶鎖定手機時,如何繼續iPhone中的音頻播放?iPhone鎖定時繼續音頻播放
我已經嘗試過
session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:NULL];
,但似乎並沒有工作。
我終於想通了如何做到這一點!
首先,將這些框架包含到您的項目中:AudioToolbox,CoreAudio,MediaPlayer和AVFoundation。將它們全部導入到放置播放器的viewController中。您分配並開始播放音頻後,插入下面的代碼:
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
最後,去你的應用程序Info.plist文件,並添加一行命名UIBackgroundModes。新行將是一個數組,並將包含1個項目,項目0.對此,您只需將該值設置爲音頻。你完成了!享受你的背景音頻播放應用程序!
This link應該有所幫助。
你需要阻止應用進入深度睡眠模式:
UInt32 category = kAudioSessionCategory_MediaPlayback;
OSStatus result = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(category), &category);
if (result){
DebugLog(@"ERROR SETTING AUDIO CATEGORY!\n");
}
result = AudioSessionSetActive(true);
if (result) {
DebugLog(@"ERROR SETTING AUDIO SESSION ACTIVE!\n");
}
感謝您的回答!但是,當我嘗試編譯代碼時,我收到一些錯誤和警告,我不太明白。首先,XCode認爲'kAudioSessionCategory_MediaPlayback'是試圖編寫'AVAudioSessionCategoryPlayback'。然後我得到一個使用未聲明標識符「kAudioSessionCategory_MediaPlayback」的錯誤。並且在C99中發出警告「隱式聲明函數AudioSessionSetProperty」無效。 –