1

ユーザーが画面をロックしたときに AVAudioPlayer で無音の音楽を再生しているため、タイマーが停止しません。しかし、 で iPod の音楽を再生すると[MPMusicPlayerController applicationMusicPlayer]AVAudioPlayerコールバックがなく停止します。[MPMusicPlayerController applicationMusicPlayer]プレイを止めずにプレイを開始できる方法はありますAVAudioPlayerか?

編集: ありがとう、これは私が取り組んでいるアプリです:

アラームアプリです。このアプリは、アプリの実行中にユーザーが画面をロックできるようにし、アラームの時間になると、アプリが iPod の音楽を再生してユーザーを起こすことができます。ローカル通知は、iPod の音楽をアラート音として使用することはできません。画面がロックされている間、アプリを実行し続ける必要があります。

ユーザーがアプリを終了すると、ローカル通知がアラームとして使用され、その音はバンドル内のファイルに限定されます。

画面がロックされた状態(UIApplicationStatusInactive)では、アプリはシステムによって生成されたローカル通知を受け取ることができないため、UILocalNotification をタイマーとして使用することはできません。

4

3 に答える 3

1

サイレント オーディオを再生すると、アプリは拒否されます。

また、Apple のドキュメントhttps://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103に従って、通知に音を鳴らすことはできません(soundName) が 30 秒以上再生されます。

そのため、ストアでアプリをリリースすることはできません。

于 2012-12-02T10:45:36.100 に答える
1

Apple は、このようなことが起こらないように、バックグラウンド システムを設計しました。基本的に、必要な場合を除き、アプリケーションをバックグラウンドで実行し続ける方法はありません。何を達成しようとしているのかを説明すれば、より良い解決策が見つかるかもしれませんが、良い習慣として、他のことをするためにランダムなバックグラウンド処理方法を使用しないでください。メイン画面に何かカスタムを表示する方法としてかすかな音楽を使用している可能性があると思いますが、これは良い考えではありません.

于 2012-12-01T13:03:55.513 に答える
0

私はそれを自分で理解しました。[MPMusicPlayerController +applicationMusicPlayer]AVAudioPlayerを停止するのは呼び出しではありませんが、呼び出し[MPMusicPlayerController -setShuffleMode:]て、なぜこれを呼び出すとAVAudioPlayerが停止するのかわかりませんが、問題はそこにあります。皆さん、ありがとうございます。次回は完全なコードを貼り付ける必要があると思います。

于 2012-12-26T07:22:40.790 に答える