Java - AudioInputStream - 剪切wav文件

时间:2016-05-23 21:21:14

标签: java audio javasound audioinputstream

我正在尝试将音频文件剪切成一个特定的部分,给定第二个剪切时间以及将其扩展到的时间。

我找到了下面的代码,但是因为秒是以int形式给出的,所以它并不准确。

任何人都可以帮我操作这段代码,以便让我将wav文件剪切到精确到毫秒级吗?

(即我有一个10秒长的音频文件,我想把它切成5.32秒到5.55秒之间)

https://stackoverflow.com/a/7547123/5213329

MATCH (own:Typea {hash:"a"})
MATCH (prev:Typea {hash:"b"}) - [c:CRED] -> (o:Typeb{index:0})
CREATE (o) - [s:SPAN] -> (own) 

1 个答案:

答案 0 :(得分:1)

wav的格式通常为每秒44100帧。立体声,16位编码(CD质量)每秒提供4 * 44100字节,或每秒176,400字节。一帧只消耗1/44100秒,或.02毫秒(如果我的数学是正确的),所以使用毫秒分数应该不是问题。

只需使输入浮动或加倍而不是整数。

在你使用startSecond或secondsToCopy进行复用的地方,你很可能需要将你的答案四舍五入到4的倍数(或每帧数量的字节数),以便引用帧边界。