gpt4 book ai didi

javascript - 是什么导致桌面 Safari html 音频 currentTime 不准确?

转载 作者:行者123 更新时间:2023-12-02 22:36:44 25 4
gpt4 key购买 nike

我正在一个项目中工作,我需要创建准确的音频编辑器。

我注意到,在音频上设置 currentTime 时,Safari 有一些古怪的行为。似乎,根据跳转发生的当前时间和跳转的位置,实际时间点甚至可以偏离 2-3 秒。

我做了一个JS fiddle to demonstrate the issue .

代码的相关部分如下:

jump.addEventListener('click', function () {
audio.currentTime = jumpToVal;
});

jump2.addEventListener('click', function () {
audio.currentTime = Number.parseInt(jumpToVal) + Number.parseInt(jumpBufferVal);
audio.volume = 0;
setTimeout(function () {
audio.volume = 1;
audio.currentTime = jumpToVal;
}, jumpDelayVal)
});

所以基本上这个示例中发生的情况是,如果在该点过去后尝试在音频中跳转到 8 秒,则音频会在该点之前几秒钟开始。例如,如果将 currentTime 设置为比该点少 8 秒,并且在延迟跳转到该点之后,它会从正确的位置播放。

我想强调一下,这很可能只是一个巧合,因为行为的变化取决于 currentTime 设置的位置和时间点。这个设置的问题最清楚。

例如,与 Chrome 进行比较以了解不同之处。

奇怪的是,无论最终结果如何,音频都会返回相同的 currentTime。所以换句话说,音频似乎“认为”它处于正确的位置,即使它显然不是。

我的问题是为什么 Safari 对 currentTime 如此不准确,是否有解决此问题的方法?

Safari 版本 12.0 (14606.1.36.1.9)。

最佳答案

媒体格式导致问题。

当媒体是 flac 时(可能还有其他格式),Seek/currentTime 更新在 safari 上不能可靠地工作。

但是,当我将媒体格式切换为 mp3 ,它和 Chrome 一样可靠!

关于javascript - 是什么导致桌面 Safari html 音频 currentTime 不准确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54126228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com