曲があるサーバーがあります。このサーバーから iPhone にストリーミングしたいのですが、AVPlayer
とinitWithUrl
. ただし、問題は、URL に認証ヘッダーが必要なことです。曲を含む http ヘッダーを送信してストリーミングする方法はありますか?
そうでない場合、誰かが回避策を知っていますか?
ありがとう。
曲があるサーバーがあります。このサーバーから iPhone にストリーミングしたいのですが、AVPlayer
とinitWithUrl
. ただし、問題は、URL に認証ヘッダーが必要なことです。曲を含む http ヘッダーを送信してストリーミングする方法はありますか?
そうでない場合、誰かが回避策を知っていますか?
ありがとう。
NSMutableURLRequestを使用すると、辞書のようなインターフェイスを使用してヘッダーを設定できます。を参照してくださいsetValue:forHTTPHeaderField:
。それを使用して自分でリクエストを作成し、 NSData を使用してファイルをファイル URL に保存できますwriteToFile:atomically:
。次に、ファイルの URL を AVPlayer に送信します。
danhが言ったことを実行してください-NSMutableURLRequestを使用して認証データを渡し、NSURLConnectionを使用してオーディオデータをファイルに書き込みます。didReceiveData: でダウンロードしたデータの量を確認できます。ファイルが「十分な大きさ」になったら (それが何を意味するかを判断する必要があります)、AVAudioPlayer の initWithContentsOfURL を使用して再生できます (そこにファイル URL を渡します)。この手法を使用してストアにアプリを持っていますが、問題なく動作します。1 つのアドバイスとして、ファイルによっては、AVAudioPlayer が奇妙なエラー ([エラー コード] == 2003334207) を返すことがあります。それが得られた場合は、ファイルが完全にダウンロードされるまで待ってから再生してください。