2

私はオーディオ録音システムに取り組んでいます。Javaで入力ストリームから配列をshort []にする方法

4

2 に答える 2

3

まず、InputStream.read(byte[] buffer)データをバイト配列に格納するために使用します。次に、このようなものを使用して SHORT[] に変換します。

byte[] bBuffer; // your buffer containing your byte[] data
short[] sBuffer;
ByteBuffer.wrap(bBuffer).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(sBuffer);

short[] が本当に必要でない限り、より最適化されるように、その場でバイトを使用して処理を行います。

逆に、 ByteBufferput()の短いバッファー表現に使用できます。したがって、次のようなものです:

byte[] bBuffer;
short[] sBuffer;  // your buffer containing your byte[] data
yourByteBuffer.asShortBuffer().put(sBuffer);
于 2013-05-29T04:02:35.957 に答える
0

ええと... InputStream から読み取って byte[] 変数に格納するだけの場合は、InputStream の read メソッドを使用するだけです。

InputStream inputStream;
byte[] bytes;

...

inputStream.read(bytes);

しかし、オーディオ レコード システムに取り組んでいるとおっしゃったように、AudioRecord Classを確認することをお勧めします。音声の録音とデータの読み取りに簡単に使用できます。

于 2013-05-29T04:03:20.120 に答える