4

私はオーディオを録音するAndroidアプリに取り組んでいます。short最高のオーディオ品質を得るには、読み取り中に s のバッファーを使用する方が良いですか?

//aRecorder.read(shortBuffer, 0, shortBuffer.length);
aRecorder.read(byteBuffer, 0, byteBuffer.length);

を使用することは、2および)のサンプルshort[]を使用して検討することと同じではありませんか? を使用する場合は、ファイルに書き込むためにとにかく変換​​する必要があります。byte[]bytes(byteBuf[i]byteBuf[i+1]short[]ByteBuffer

shorts のバッファに切り替えると、録音が​​より正確になるかどうかを知りたいので、これを尋ねています。たとえば、および?shortBuffer[0]と同じ情報が含まれています。byteBuffer[0]byteBuffer[1]

録音は、16 ビット PCM または 8 ビット PCM である可能性があります (ユーザーは、サンプル レート、チャンネル数、PCM 16 または 8 などを選択できます)。

出力ファイルは WAV 形式になることに注意してください。

4

1 に答える 1

5

ShortバッファとByteバッファの使用に違いはありません。これは、同じ基になるデータの 2 つの表現にすぎません。

私が考えることができる唯一の違いは、記録中にデータにアクセスする方法のオプションを制限していることです。要するに、最小データ表現は 16 ビット (短いサイズ) になるためです。そのバイトの 1 つを取得するオブジェクト。

あらゆる種類のリアルタイムオーディオ処理を行っている場合は、バイトを使用してデータを簡単に縮小することをお勧めします。

于 2013-05-01T17:49:42.913 に答える