我正在将Java项目移植到Android。
如您所知,Android没有javax.sound包。
我需要计算frameLength。
我的声音文件大小是283KB。帧大小为4,帧速率为44100,样本大小为16位。
当我使用纯Java时,帧长度为69632。
你知道任何方程式吗?
谢谢。
答案 0 :(得分:1)
对于原始PCM数据,基本上每个样本有4个字节。
((283 KB)*(每个KB 1024个字节))/(每帧4个字节)==> 72448
但是除了原始PCM之外,wav还可以包括许多内容,例如歌曲标题或艺术家信息。
Here's有关wav格式的更多信息。您可能必须将文件作为原始字节加载以解析标头,但标头的帧大小在可预测的位置。
也许拥有Android经验的其他人已经编造了一种方法。 也许谷歌应该将Java视为一个完整的实体并正确许可和实施它。