2

AVPlayer を使用してオーディオを再生するアプリがあります。オーディオ カテゴリを に設定してバックグラウンド オーディオを有効にし、必要な設定をinfo.plistにAVAudioSessionCategoryPlayback追加しました。UIBackgroundModesaudio

iOS 5 では、ホーム ボタンを押すと、アプリはバックグラウンドに入り、オーディオはまだ少し再生されますが、ホーム ボタンをダブルタップすると、デバイス全体が 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 にのみ影響するようです。

4

2 に答える 2

2

同じ問題がありましたが、クロスフェードを行う必要があったため、2 つの AVPlayer を使用する必要がありました。Instruments での割り当てを監視したところ、AVPlayers が適切にリリースされていないことが判明しました (それらは「生きている」ままでした)。私はそれらを不適切に解放していました。私がそれを修正し、それらが適切にリリースされた後、問題はなくなりました。

于 2012-12-18T12:39:23.697 に答える
2

これは、複数のAVPlayerインスタンスを共有することによる私のコードの問題であり、オーディオ システムがクラッシュすることがありました。2 番目のプレーヤーを削除すると、このバグが修正されました。 /はぁ

于 2012-07-10T21:51:39.317 に答える