2012-02-26 19 views
2

質問1. を行くとき、私はアップデートごとに250ミリを受信して​​、UIを更新するためにaddPeriodicTimeObserverForIntervalを使用してiphone 4とiOS 5.0.1AVPlayerとaddPeriodicTimeObserverForIntervalは、アプリがバックグラウンドに

  • レジスタで次の行動を見ています動作しません。 。

  • は、アプリがバックグラウンドになるまでうまく機能します。たとえば。

  • アプリがフォアグラウンドに戻ったとき、プレーヤーは再び再生を開始しますが、アップデートは再開しません。ユーザーがUIの更新で再生一時停止ボタンをもう一度押すと、再度起動が開始されます。 これはリンゴのdemoアプリにも見られます。

質問2

我々はAV・ファウンデーション・クラスとCベースのオーディオセッションAPIを混在させることはできませんか?たとえば。 AudioInterruptionsのときにCベースのリスナーを登録しました。しかし、AVPlayerをkAudioSessionCategory_PlayAndRecordで使用すると、呼び出されません。アプリがバックグラウンドになると、Cベースのリスナーが呼び出されずにAVPlayerが一時停止します。

これが予定されているのですか、何かできますか? AVPlayerインスタンスを削除してから、アプリケーションがバックグラウンドに移行すると、kAudioSessionCategory_PlayAndRecord がカテゴリとして設定され、リスナー関数が呼び出されることに注意してください。

+0

リモートイベント通知用に登録し、バックグラウンドモードをApp play audioに設定しましたか? (また、最初のレスポンダとしてビューコントローラを設定する必要があります) – sooper

+0

ありがとうSooper。しかし、あなたは私の質問のどれにも答えていません。 – xmlsingh

答えて

0

あなたの最初の問題については、おそらくあなたが提案したようにaddPeriodicTimeObserverForIntervalをリリースしていない可能性があります。あなたのAppDelegateにこのような何かを入れてみてください:

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    [_audioManager.audioPlayer removeTimeObserver:_audioManager.timeObserver]; 
    _audioManager.isUIActive = NO; 
} 

し、適切な方法は、定期的な時間オブザーバを再起動する:setUpTransportUIは、あなたの時間の観測を再現

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [_audioManager setUpTransportUI]; 
    _audioManager.isUIActive = YES; 
} 

関連する問題