iOS_33_音樂後台播放,ios_33後台播放
音樂後台播放:三個步驟在appDelegate中的didEnterBackground方法中實現:
app的beginBackgroundTaskWithExpirationHandler方法
開啟背景工作,讓程式在後台運行
- (void)applicationDidEnterBackground:(UIApplication *)application{ // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. // 後台播放三步驟之一:讓應用在後台運行 [application beginBackgroundTaskWithExpirationHandler:nil];}
在Supporting Files目錄下的【33_音效-Info.plist】
增加一項【Required background modes】
值為【App plays audio or streams audio/video using AirPlay】
第三、在工具類的初始化方法【
initialize】中,設定音頻會話的類型,並啟用
+ (void)initialize{ // 後台播放,第三步,設定 音頻會話類型 AVAudioSession *session = [AVAudioSession sharedInstance]; // 類型是:播放和錄音 [session setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; // 而且要啟用 音頻會話 [session setActive:YES error:nil];}
其他三種常用的音頻會話類型是:
ios可以後台播放音樂,怎控制讓它播放下一首?
-(void) audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {}在這個方法中一個timer進行下一首聲音播放的觸發就可以了。當然前提需要設定能允許後台播放:在viewdidload中設定為: AVAudioSession *session = [AVAudioSession sharedInstance]; [session setActive:YES error:nil]; [session setCategory:AVAudioSessionCategoryPlayback error:nil];這2個地方弄一下就可以連續播放多個聲音了,可以前台,也可以後台,也可以在關閉螢幕的情況下都可以。
後台啟動並執行音樂播放軟體
你不聽的話,就要個功能較簡易,佔用資源小的就行了,千千靜聽,設定開機自動啟動,一首歌迴圈播放,幾乎不怎麼佔資源。最小化後顯示右下角一個表徵圖。