私は Java プロジェクトに取り組んでおり、RTP プロトコルを使用してサウンドをストリーミングすることを目的としています。まず、ウィキペディアにある指示に従って、ヘッダーを生成するコードをいくつか書きました。
しかし今、データ ペイロードについて多くの質問があります。何を送信する必要がありますか? ステレオで 44.100 Hz でサンプリングされた wav 形式を使用してサウンドをストリーミングするために、ペイロード タイプ 10 を選択しました。
しかし、Java やおそらくどのリーダーでも、オーディオを読み取るには、他の情報が必要です。
- オーディオ エンコーディング テクニック (例: PCM_SIGNED)
- ビット単位のサンプル サイズ (例: 16 ビット)
- チャネル: 2、ペイロード タイプによって差し引かれます
- フレーム サイズ (16 ビット * 2 チャネル = 32 ビット = 4 バイト)
- フレーム レート (サンプル レートと等しいと想定)
- エンディアン (例: リトルエンディアン)
この情報はすべて、 というオブジェクトに付属していますAudioFormat
。しかし、ペイロードでその情報を送信する方法は? まず、私の受信機はおそらくJavaで書かれていないので、 object を理解しているとは思えませんAudioFormat
。また、Java で記述されている場合でも、最初のペイロード部分がオブジェクトAudioFormat
であり、次に生データであることをどのように示すのでしょうか?
これらの情報を送信する「普遍的な」方法があると思いますが、Google では何も見つかりませんでした。いくつかのヒントを教えていただけますか?