gpt4 book ai didi

HTML5 中的 Javascript 和音频 - 第一个 'play()' 调用后的延迟

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

我对这个非常简单的 HTML5 + Javascript 代码有疑问。它会尝试在加载后直接播放声音。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test page</title>
</head>
<body>

<audio src="freedom.wav"
id="audio1"
preload='auto'
onloadeddata="alert('the sound has been loaded !'); document.getElementById('audio1').play();"
></audio>

<input type="button" value="Play it again !" onclick="document.getElementById('audio1').play();" />

</body>
</html>

如您所见,我正在加载带有 HTML5 音频标签的声音。声音完全加载后,将启动事件“onloadeddata”并执行 Javascript 代码。此代码提示一个警告窗口并立即开始播放声音。 alert() 调用可以直观地通知我声音已成功加载。

但问题是:play() 调用有效,但声音是在 alert() 窗口出现后的 SECONDS 播放的。这种延迟对我来说是有问题的,因为我希望有一个指示器可以告诉我何时可以立即播放声音。而且似乎“onloadeddata”不符合这些要求。

请注意,一旦第一个 play() 成功,我将不会延迟进一步的 play() 调用。我可以用“再玩一遍!”来验证这一点。 button : 单击按钮后立即播放声音,第一个 play() 已通过。

谁能告诉我第一次调用 play() 时的延迟是否有解决方案?或者有什么方法可以告诉我什么时候可以播放声音?

我在使用谷歌浏览器。

非常感谢!

最佳答案

好的,这个问题实际上已经明确定义了。

  • 这个错误只发生在 chrome 上(Firefox 没有问题)
  • 它只涉及wav文件
  • 这与 Javascript 的 play() 函数无关,我通过直接在 chrome 中打开 wav 文件得到了同样的延迟

我仍然没有找到解决这个延迟的方法,现在我真的不在乎了。我将使用 MP3 或 OGG 文件,这就足够了。

干杯!

关于HTML5 中的 Javascript 和音频 - 第一个 'play()' 调用后的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18360591/

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