こんにちは、波形としてプロットできるように、wav ファイルのデータを読み込もうとしています。以下は私が試したコードです:
try {
RandomAccessFile file = new RandomAccessFile(myFile,"r");
while(file.read()>-1){
byte b1 = (byte) file.read();
byte b2 = (byte) file.read();
Log.d(TAG,"DATA:"+ (double) (b2 << 8 | b1 & 0xFF) / 32767.0);
}
file.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
私の出力は、最初は -1 から +1 の範囲の値ですが、後で DATA:0 のみを返します。無限ループのように見え、強制的に閉じられます。私によると、ループはファイルの終わりに達すると終了するはずです。誰でもループの終了条件を提案できますか。助けてください....よろしくお願いします...