2011-11-10 9 views
12

私のアプリはAVAudioPlayerを使用してオーディオプレイリストを再生します。私はiOS4.3とiOS5の間でコードを変更していません。しかし、カテゴリをAVAudioSessionCategoryPlaybackに設定していても、iOS5のオーディオは画面ロックで一時停止します。カテゴリがAVAudioSessionCategoryPlaybackであっても、AVAudioPlayerは画面ロックで再生を停止します

私はiOS4.3とiOS5デバイスでこのコードをテストしましたが、この問題はiOS5デバイスで発生します。

他に誰かがこの問題に直面しましたか?私はこの問題のデバッグをどこで開始するか分からないので、私は犠牲になっています。 AVAudioSessionCategory設定をチェックしてデバッグを開始し、終了しました。

私はそれをやっているコードは次のとおりです。

[[AVAudioSession sharedInstance] setDelegate: self]; 
NSError *setCategoryError = nil; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError]; 

編集:

私はすでに実装され、audioPlayerBeginInterruption

編集#2取り扱っています:を解決します!ありがとうございますRhythmic Fistman's Answer

ここには何が起こっていたのか、私がしたことがあります。 iOS5の変更により、画面がロックされてもアプリがバックグラウンドに移動するようになりました。つまり、アプリでバックグラウンドオーディオを有効にし、そのオーディオを最初のレスポンダとして扱うビュー/ビューコントローラを作成する必要があります。

ステップ1: Enable background audio in your app

ステップ2: Enable remote events and become the first responder on the viewcontroller/view responsible for handling your audio playlist

注: デバイス上でこれをテストすることを確認します。シミュレータはコードがうまくいかないように見せます。

答えて

12

iOS5でスクリーンロックが変更されました。アプリをバックグラウンドで送信するようになりました。オーディオを続行するには、Info.plistファイルにUIBackGroundModesとして「オーディオ」を追加する必要があります。

私はこのドキュメントの中で最も近いことがいくつかあります。 Apple devforumposts(ログインが必要です)。

+0

ありがとう!私はこれを逃した...私はplistに変更を加えましたが、それはまだ助けになりませんでした。しかし、これはいくつかの進歩を作る良いスタートです.... – Sid

+1

それは、シミュレータでは動作しませんが、デバイス上で動作します!ありがとうございました!次のステップは、現在のトラックを再生した後に停止するため、プレイリストを実行するバックグラウンドタスクを設定することです。 – Sid

+0

この問題が終わったら、私は次の無知な放浪者を助けるためにこの質問を編集します:D – Sid

1

私はあまりオーディオには使用されていませんが、インターアダプションについては見ましたか?私は中断が発生したときにオーディオを止めることができたと言ったものを読んだことがあります。それを再生するのはあなたの仕事です。

しかし、それは私の記憶からくるものです。それは役に立ちますか?

+0

こんにちはオリバー、ご返信ありがとうございます。私はaudioPlayerBeginInterruptionを実装しており、そのメソッドにブレークポイントを設定しています。ブレークポイントはヒットしていないので、私はそれが原因だとは思わない、悲しいことに。 :) – Sid

+0

@Sid:あなたが望むように、私はあなたの試行の進行を他の人に見てもらうためにそこに答えを残すことができます。またはあなたの質問に編集として挿入することができます。あなたの質問に「無回答」と記させてください。好きなように。 – Oliver

+0

答えを残す:)私はまた、質問に編集します....ありがとう – Sid

関連する問題