10

AVAudioEngineと を使用してローカル ファイル システムからファイルを再生するために使用するアプリがありAVAudioPlayerNodesますAVAudioFiles。これは完全に正常に機能します。

ここで、インターネット上のサーバーからの MP3 ファイルのストリーミングもサポートするようにセットアップを有効にしたいと考えています。

これまでに試したこと

NSURL私の希望は、ネットワーク アドレスを指すオブジェクトからある種のバッファを作成し、 AVAudioPlayerNode.

Stack Overflowインターネット全般を検索しましたが、これを実現するための良いヒントは見つかりませんでした。

ラインナップAVAudioEngineは次のとおりです。

  • AVAudioFileまたはからオーディオを再生できるAVAudioPlayerNodeAVAudioBuffer。今日はすでにAVAudioFile「ローカルファイルのセットアップ」に使用しています。
  • ローカル ファイルに使用されるAVAudioFile 。「AVAudioFile」は「NSURL」で作成されるため、Playground のようにサーバー上の MP3 ファイルを指す URL を試しました。

    var fileError: NSError? = nil
    let file = AVAudioFile(forReading: someURL, error: &fileError)
    if fileError != nil {
        fileError
    }
    

このエラーで私に報酬を与えます:

Error Domain=com.apple.coreaudio.avfaudio Code=2003334207 "The operation couldn’t be completed. (com.apple.coreaudio.avfaudio error 2003334207.)" UserInfo=0x7fbfab424480 {failed call=ExtAudioFileOpenURL((CFURLRef)fileURL, &_extAudioFile)}
  • AVAudioPCMBufferは、私が使用したいと思っていたクラスですが、データでインスタンス化する方法が見つかりません。

私の質問(明確にするために:-))

AVAudioEngineインターネット上のサーバーから MP3 ファイルをストリーミングする方法を知っている優秀な人はいますか?

それともあきらめてこれに使うべきAVPlayerですか?

あなたからの返信を楽しみにしています。

4

1 に答える 1

0

Apple のドキュメントでは、オンラインでホストされている mp3 で動作するかどうかは指定されていませんがAVAudioFile、mp3 の URL で初期化しようとするとすぐに、致命的な例外が発生して即座にクラッシュします。それがあなたの質問に答えると思います。

于 2015-10-08T20:15:32.163 に答える