【发布时间】:2014-12-04 16:13:03
【问题描述】:
读取音频文件,例如 wav 文件,然后获取其时间长度。然后逐秒或按半秒获取它的字节值。就像我有一个 20 秒的 wav,我会在我指定的时间输出它的 bytes[]。因为获取文件所有长度的字节会占用非常大的空间。
这是我从音频文件中获取字节,但我只需要几秒钟的字节。有什么帮助吗?
FileInputStream s = new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/audio_raw.wav");
BufferedInputStream b = new BufferedInputStream(s);
byte[] data = new byte[128];
while((bytes = b.read(data)) > 0)
{
for(int i = 0; i<bytes; i++)
{
unsigned = data[i] & 0xFF;
bw.write(unsigned+"+");
}
}
b.read(data);
b.close();
【问题讨论】: