3

アプリ内でオーディオ ファイルを送受信する必要があります。パフォーマンスを向上させ、オープンな接続を維持するために、このデータをストリーミングしようとしています。

質問への回答に基づいて、 HTTP Live StreamingAudioStreamerなどを見てきました。ただし、これらは連続ストリーミング、一方向(読み取り)用のようです。私は有限のオーディオファイル(> 10秒)を送信してから、1つを受信して​​います。

私は NSURLConnection に精通しており、この回答を確認しました。ただし、これは連続した一方向ストリームを使用します。

上記を達成するためのアーキテクチャに関する推奨事項をいただければ、開始に役立ちます。

4

4 に答える 4

2

一般に、AVAudioPlayerは音楽再生を使用します。ただし、このフレームワークはストリーミングをサポートしていません。したがって、AVPlayerストリーミングを使用して実現できます。通常、開発者AVPlayerはビデオを再生できることだけを知っていますが、音楽も再生できます。

次の Apple のサンプル コードを参照してください。AVPlayer

スティッチストリームプレーヤー

私はテスト済みのmyServerにアップロードします.mp3も完全に

3G、wifi 両方の環境でテスト済み。サンプルコードですが、驚くほど完璧に動作しました。mp3 ファイルをサーバーにアップロードします。今すぐテストしてみてください。うまくいきます。

バックグラウンドで再生したい場合は、次のコードを忘れないでください。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    AVAudioSession* audio = [[AVAudioSession alloc] init];
    [audio setCategory: AVAudioSessionCategoryPlayback error: nil];
    [audio setActive: YES error: nil];

    return YES;
}
于 2012-08-10T15:39:37.947 に答える
1

サーバーからの再生について、私の Audjustable プロジェクト ( https://github.com/tumtumtum/audjustable ) は、元の AudioStreamer プロジェクトの問題のほとんどを修正し、エラー回復、暗号化などを可能にするギャップレス再生と分離されたオーディオ データ ソースを含みます。など 完全オープンソース...

オーディオ データをサーバーにアップロードする場合、さまざまな方法がありますが、NSURLConnection が最も簡単な方法のようです。

于 2013-12-01T15:42:36.213 に答える
0

あなたがしようとしているのは、ストリーミングしていないサーバーとの間でファイルをアップロードおよびダウンロードすることだと思います。ダウンロードには、 NSURLConnection / NSURLRequestを使用できます。アップロードには、HTTP POSTメソッドを使用できます。ASIHTTPRequest と呼ばれる古いサードパーティ ライブラリもあります。これらのトピックに関するサンプルは、インターネット上にたくさんあります。

于 2012-08-13T10:49:57.043 に答える
0

はい、AudioStreamer は今まで私が使用して検索したもので本当に優れています。

ただし、AudioStreamer では、バックグラウンドでストリーミングしようとするときや、2 つのインスタンスを作成するときなど、特定の変更が必要です。

https://github.com/mattgallagher/AudioStreamer/

私のプロフィールにも同じことに関する2〜3の質問があります...

于 2012-08-10T17:44:46.013 に答える