gpt4 book ai didi

javascript - 如何在 JavaScript 中检查声音文件是否正在播放

转载 作者:行者123 更新时间:2023-11-28 07:45:35 25 4
gpt4 key购买 nike

var soundObject = null;
function PlaySound() {
var textvalue = document.getElementById('<%= TextBox7.ClientID %>').value;
if (soundObject != null) {
document.body.removeChild(soundObject);
soundObject.removed = true;
soundObject = null;
}
soundObject = document.createElement("embed");
soundObject.setAttribute("src", textvalue);
soundObject.setAttribute("hidden", false);
soundObject.setAttribute("autostart", true);
document.getElementById("div1").appendChild(soundObject);

上面是我的 JavaScript 代码,C# 中的 TextBox7.text="c:\temp\abc.wav"。我有两个问题:1. 在播放音频文件之前是否有办法判断文件 c:\temp\abc.wax 是否存在?2. 如何检查文件是否开始播放(因为我设置了自动启动)?

我的目的是在文件不存在或未播放时提醒用户?

PS:实际上,程序正在运行,如果文件存在,它将播放音频,如果找不到音频文件,则显示黑屏。我只是想让它变得更好,以便用户知道发生了什么。

最佳答案

<embed>元素无法为您提供对正在播放的音频文件的控制级别。如果可以的话,我强烈鼓励使用 HTML5 <audio>元素代替。它继承自HTMLMediaElement Dom 接口(interface)使您可以访问更多媒体特定数据。 <embed>元素仅继承自 HTMLElement这不提供相同级别的控制。

您可以将上面的代码更改为:

soundObject = new Audio();
soundObject.src = textValue;
soundObject.hidden = true;
soundObject.autoplay = true;
document.getElementById("div1").appendChild(soundObject);

soundObject.play();

完成此操作后,如果播放时出现错误,您可以使用 soundObject.error以访问错误消息。如果文件不存在或在播放过程中出现任何其他错误,这会给您一个错误。

要判断文件是否正在播放,您可以监视 soundObject.played查看文件的哪一部分已经播放过。

希望这能解决您的问题!

编辑:

我附上了一个 JSFiddle,希望能让您更好地了解如何使用此功能 here .

关于javascript - 如何在 JavaScript 中检查声音文件是否正在播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27466310/

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