2011-12-30 4 views
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で拒否されることなくバックグラウンドで実行するソリューションを考え出すことができますか?

+0

実際にバックグラウンドで実行されていることをどのようにテストしましたか? – tia

+0

私の知る限り、あなたのアプリはバックグラウンドに入ってから10分後に止まるべきではありません。これはあなたを助けるかもしれない以下のリンクを読む.. http://www.iphonedevsdk.com/forum/iphone-sdk-development/9598-avaudioplayer-issue.html https://devforums.apple.com/message/264397#264397 http://developer.apple.com/library/IOs/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/HandlingAudioInterruptions/HandlingAudioInterruptions.htmlそして、タイマーアプリはオーディオアプリと比較することはできません。 –

+0

これは[iOS 4マルチタスキングサポート付きアラーム時計アプリ](http://stackoverflow.com/questions/3897946/ios-4-alarm-clock-app-with-multitasking-support)に近いですが、それとは少し違うものです。それでも、そこの答えの1つまたは2つがここで助けになるかもしれません。 –

答えて

1

あなたのアプリがバックグラウンドになると、あなたのアプリがフォアグラウンドに戻るまでオーディオデバイスを再び開くことはできません。

関連する問題