2

次のコードは、ループで無音のオーディオ クリップを再生して、アプリケーションをバックグラウンドでアクティブに保つ必要があります。

//set sessions ....
.........
//play
audio_player = [[AVAudioPlayer alloc] initWithContentsOfURL: url error:NULL];
audio_player.numberOfLoops= -1; //always repeat
bool ret = [audio_player play];

ホームボタンを押すとバック​​グラウンドで再生され、アプリケーションがアクティブなままになります。

ただし、電話をかけると、プレーヤーは停止し、[audio_player play]その後 false を返します。

問題は、バックグラウンドで AVAudioPlayer の再生が中断されないようにする方法、または中断されたときに再生を再開できるようにする方法です。そうしないと、サイレント オーディオ ループが最後に再生されてから 10 分後にアプリケーションが終了します。

影響を受けずにバックグラウンドで実行できる目覚まし時計アプリがたくさんあるので、解決策があることは知っています. テストしたところ、実際にバックグラウンドで実行されています。

App Store に拒否されることなくバックグラウンドで実行できるソリューションを思いつく人はいますか?

4

1 に答える 1

1

答えは、アプリがバックグラウンドになると、アプリがフォアグラウンドに戻るまでオーディオ デバイスを再び開くことができないということです。

于 2011-12-30T18:11:31.977 に答える