如何在2019年用javascrip做时间跨度音频播放?

我正在寻找一种最新的解决方案,在不改变音调的情况下放慢/加快音频播放速度(所谓的"时间拉伸")。处理应该尽可能快(音频是语音记录)。使用Web Worker也不错。

我正在使用Web Audio API。本机HTML5不是我的应用程序的选项。

我找到了一些延长时间的解决方案,但这些解决方案部分非常陈旧,不再维护,或者没有使用它们的例子。我找到的解决方案列表来自here。ThisStackOverflow上的帖子已过时,目前可能不是最佳解决方案。

有没有在打字稿中实现良好、稳定可用的解决方案?


解决方案

没有任何第三方库的最简单方法是使用HTML5Audio及其Audio类。它允许在保留音调的同时更改播放速度。

更多信息:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate

const player = new Audio();
player.src = "someURL";
player.playbackRate = 1.5;
player.play();

相关文章