我有一個使用AVPlayer播放音頻的應用程序。我已經通過將音頻類別設置爲AVAudioSessionCategoryPlayback
並在info.plist中將所需的UIBackgroundModes
設置添加到audio
來啓用了背景音頻。當背景應用程序/雙擊主頁按鈕時,音頻崩潰
在iOS 5上,當您按下home按鈕時,應用程序會在後臺運行,音頻仍會播放一段時間,但是當我雙擊home按鈕時,整個設備鎖定大約10秒鐘,音頻最終停止。
但是,該應用程序仍在運行,因爲我可以啓動它並看到應用程序的狀態。不幸的是,音頻系統看起來很麻煩,因爲任何後續的操作通常會導致崩潰。
當音頻停止,我看到在設備的控制檯以下:
Jun 26 12:39:28 unknown SpringBoard[15] <Warning>: Unable to deliver SBApplicationNotificationStateChanged notification to port com.apple.springboard.appstatechanged: (ipc/send) timed out
Jun 26 12:39:53 unknown mediaserverd[25406] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: RPCTimeout message received to terminate [25406] with reason 'fig rpc timeout -- FigSharedRemote_VolumeCategoryForAudioCategory'
Jun 26 12:39:53 unknown ReportCrash[25468] <Notice>: Saved crashreport to /Library/Logs/CrashReporter/mediaserverd-2012-06-26-123953.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0
Jun 26 12:39:53 unknown mediaserverd[25406] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: RPCTimeout message received; stackshot generated
Jun 26 12:39:53 unknown mediaserverd[25406] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: TERMINATING our process [25406]
Jun 26 12:39:53 unknown com.apple.launchd[1] <Notice>: (com.apple.mediaserverd) Exited: Killed: 9
Jun 26 12:39:54 unknown com.apple.mediaserverd[25469] <Notice>: 2012-06-26 12:39:54.083477 PM [AirTunes] HAL plugin started
Jun 26 12:39:54 unknown kernel[0] <Debug>: launchd[25469] Builtin profile: mediaserverd (sandbox)
Jun 26 12:39:54 unknown mediaserverd[25469] <Error>: 12:39:54.317795 com.apple.AVConference: /SourceCache/GameKitServices/GameKitServices-344.21/AVConference.subproj/Sources/AVConferenceServer.m:1867: AVConferenceServerStart
這似乎是通過分享超過隻影響的iOS 5