sintrb/WaveAccess

用ffmpeg从mp3转过来的wav文件,读取异常

Opened this issue · 6 comments

转过来的wav文件8/16bit 单声道的。在
this.datasubchunk = readString(WaveConstants.LENDATASUBCHUNK); // datasubchunk值是“LIST”
if (!datasubchunk.endsWith("data"))
抛异常了。

需要对list进行解析,list的大小是后2位 int listsize = readInt(); data可以再listsize +2后的数据中取出来

不明白

有的数据在data前还有一个字段,是list,可以自己查看下

想咨询下的是这个Y轴代表的 音量 还是什么?

这个生成的波形图可以说和音量关系最大吧

按照 @Sickle2 的方案在https://github.com/sintrb/WaveAccess/blob/master/src/com/sin/java/waveaccess/WaveFileReader.java#L96
下添加

if (datasubchunk.endsWith("LIST")) {
   int listSize = readInt();
   readBytes(listSize + 2);
   this.datasubchunk = readString(WaveConstants.LENDATASUBCHUNK);
}

似乎可行,感谢!