提高java中声音文件的播放速度
我正在寻找有关如何使用 Java 及其声音 API 提高声音文件播放速度的信息。
我目前正在使用剪辑和 AudioInputStream 来播放文件,但如果这意味着我可以提高播放速度,我将很乐意更改它。
I'm looking for information on how I can increase the playback speed of a sound file using Java and it's sound API.
I'm currently using a clip and an AudioInputStream to play back the file, but I'll be glad to change that if it means I can increase the playback speed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我通过使用线性插值来做到这一点。当您按一定增量逐步浏览样本时,使用分数距离创建要流式传输的值。
例如,如果您的值为 1.25(在值为 10 的样本和值为 30 的样本之间),则您将输出值为 15。
I do this by using linear interpolation. As you step through your samples by some increment, use the fractional distance to create a value to stream.
For example if you land at 1.25 (between a sample with value 10 and sample of value 30), you would output a value of 15.
以原始速度的整数倍 (2,3,4..) 倍播放的粗略方法是跳过原始输入流的每隔这么多样本。 EG 对于双倍速度,跳过二分之一,对于三倍速度,跳过三分之二。
AcceleratePlayback.java
示例输入/输出
A crude way to play back at an integral number (2,3,4..) of times the original speed, is to skip every so many samples of the original input stream. E.G. For double speed, skip one out of two, for triple speed, skip 2 out of 3.
AcceleratePlayback.java
Example Input/Output