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

  显示原文与译文双语对照的内容
0 0

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代码,TextBox7.text="c: tempabc 。wav"是 C# 。 我有两个问题:1. 是否在播放音频文件之前判断文件 c:tempabc.wax 是否存在? 2.如何检查文件是否开始播放或者是否为( 因为我把自动启动)?

如果文件不存在或者不存在,我的目的是提醒用户?

实际上,程序正在运行,当文件存在时,它会播放音频,如果没有发现音频文件,则显示 blackscreen 。 我只想让它更好,让用户知道发生了什么。

时间: 原作者:

0 0

<embed> 元素不提供对正在播放的音频文件的控制级别。 如果你能够,我将强烈鼓励使用 HTML5 <audio> 元素。 它继承了 HTMLMediaElement Dom接口,使你能够访问更多的媒体特定数据。 <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,希望能够更好地了解如何在这里使用这个特性

原作者:
...