嗨,我正在尝试读取 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 它似乎是一个无限循环并且有一个力关闭。据我说,当到达文件末尾时,循环应该终止。任何人都可以为循环提出一些终止条件。请帮助....谢谢是提前...