私はこのバグを解決するのに約 24 時間かかりました。いくつかの曲をロードしてから、次々と曲を再生する単純な音楽プレーヤーがあります。
問題は、曲の最後でランダムに didFinishPlayingAudio が呼び出されないことです。代わりに、同じ曲が音声出力なしで最初にループバックするため、私の音楽プレーヤーに重大な欠陥があります!
最近、AVAudioPlayer の再生機能が非同期であることに気付きました。これが問題ではないかと疑っています。コードを調べて、プレーヤーがリリースされる前に停止していること、および新しいプレーヤーが適切に保持されていることを確認しました。この時折発生する重大なバグを除いて、すべて正常に動作します。プログレスバーをスクラブすると、音楽が再び再生されます。これは、適切なオーディオプレーヤーがメインプレーヤーとして再関連付けされていることに関係していると思います。
この問題を回避するために ObjectAL を使用しようとしましたが、問題は、リモート コントロール イベントの受信を無効にしない限り、ステータス バーの [再生] アイコンが消えないことです。これは、音楽プレーヤーでは受け入れられません。ただし、再生アイコンをオフにする良い方法があれば、これは私の厄介なバグの解決策にもなります!
ここまで読んでくれてありがとうございました!! これについていくつかの考えを期待しています、ありがとうSO!