AVAudioPlayer
クラスに不思議な問題があります。プレイヤーを作成し、イニシャライザから無限参照を取得しますが、-play
メッセージがNO
を返して、プレイヤーが再生しません。私はプレーヤーデリゲートメソッドを実装しており、-audioPlayerDecodeErrorDidOccur:error:
は呼び出されていません。イニシャライザからのエラーは設定されていません。AVAudioPlayerは正常に初期化されますが、再生を拒否します
私は通常の容疑者を確認しました。私はオーディオセッションのカテゴリを設定し、私もそれをアクティブにします。プレーヤーのオーディオファイルは、再生する直前にアプリによって記録されます。別のサウンド(アプリバンドルから)でプレーヤを初期化すると、再生されます。記録されたファイルをアプリバンドルにコピーして、このコピーでプレーヤーを初期化すると、再生されます。ファイルを読み込む前にファイルの存在をチェックすると、そのファイルはそこにあり、読み込み可能で、サイズはゼロではありません。
私はシミュレータとデバイスの両方を試しましたが、違いはありません。
私には何が欠けていますか?
どのようなオーディオファイルですか?あなたが演奏しようとしているのと同じ種類のオーディオフォーマットの異なるサウンドですか?録音したファイルを何らかの形でエクスポートした場合(自分宛にメールするなど)、デスクトップマシンで再生できますか(AVAudioPlayerではなく実際のファイルに問題がありますか)。 –
URLを使用してプレーヤーを初期化すると、エラーが返されますか? – Daniel
オーディオファイルはWAVです。私がすでに質問に書いたように、私は非常に同じファイルをとり、アプリバンドルにコピーして、そこからうまくいく。 (デスクトップ上の別のアプリケーションを使用して開いたときと同じように)。初期化によってエラーは返されません。 – zoul