2

InputStream を介して .wav ファイルからデータを読み取っていますが、read() はバイトを返します。私が使用するサウンド処理ライブラリは、float[] のみを受け入れて処理します。完了すると、 float[] が返されます。ここで、Android の AudioTrack に再度バイト形式で書き込む必要があります。

bytesこれらをに変換しfloats[]て に戻すにはどうすればよいbyte[]ですか? 少し調べてみましたが、すべてが私の状況とは少し違うようで、すべての問題はさまざまな方法で解決されているように見えました...だから、今はちょっと迷っています.

この変換のようなものが何らかのライブラリで既に提供されている場合は、それについても聞いてうれしいです!

ありがとう!

4

2 に答える 2

0

java.nio.ByteBufferを使用できます。バイト配列からさまざまな型を引き出すための便利なメソッドが多数あり、ほとんどの問題も処理する必要があります。

        byte[] data = new byte[36];
        ByteBuffer buffer = ByteBuffer.wrap(data);          
        float second = buffer.getFloat(); //This helps to 
        float x = 0;
        buffer.putFloat(x);
于 2013-10-19T13:01:52.537 に答える