する必要がある:
- 音を出す
- ループ
- バックグラウンドで再生を続ける
ですべて正常に動作しますが、iPodライブラリの音楽曲も再生AVAudioPlayer
するために使用する必要があります。AVPlayer
しかし、大きな問題があります。AVPlayerにはのnumberOfLoops
ようなプロパティがありませんAVAudioPlayer
。
さて、あなたはNSNotificationCenter
forに通知を登録することができAVPlayerItemDidPlayToEndTimeNotification
ます(またはaddBoundaryTimeObserverForTimes
、曲の長さに等しい指定された時間でメソッドを使用することもできます)、曲が最後まで再生されたときに通知されます。ただし、これはアプリがフォアグラウンドにあり、バックグラウンドで曲が再生され続けている場合にのみ機能しますが、最後に停止します。
通知はバックグラウンドでも受信されます(NSLogでチェックされます)が、セレクターのコードは次のとおりです。
AVPlayerItem *playerItem = [notification object];
[playerItem seekToTime:kCMTimeZero];
...効果はありません。曲はループしません。
助言がありますか?