允许播放一次html音频

时间:2017-02-16 23:29:53

标签: javascript html audio

我试图限制主体在我的实验中只播放一次音频文件。我使用以下HTML代码:

 '

有没有办法用html做到这一点?如果没有,我怎样才能将其改编为javascript?

谢谢!

2 个答案:

答案 0 :(得分:1)

这取决于你的规则是什么“只播放一次音频文件”:当用户点击播放按钮时,还是在用户收听整个音轨后?

您仍然无法禁用原生音频控件,同时仍然可以看到它们。如果您希望能够操作音频控件,则需要使用JS,HTML和CSS自己的控件。那里已经有了图书馆。

另外,如果你很善良,你应该让用户能够在她出场后停止音频。

这就是我要做的事情:

  • 使用插件添加自己的播放器控件
  • 仅显示播放/停止按钮
  • 写javascript,将文件标记为“播放”时......
    1. 玩家点击停止按钮
    2. 当歌曲结束时
  • 一旦音频被视为“播放”,请禁用播放按钮

答案 1 :(得分:0)

我这样做的方法是将音频放在名为audioDiv

的div中
<div id="audioDiv">
    <audio onclick="playedOnce()" src="sound.mp3" type="audio/mp3" preload="auto" controls="controls" oncontextmenu="return false;">Audio could not be loaded.</audio>
</div>

然后在某处添加此javascript方法

function playedOnce(){
    var children = document.getElementById("audioDiv").getElementsByTagName('*');
    for(var i = 0; i < children.length; i++){
        children[i].disabled = true;
    }

}

现在显然这是一个shell方法,假设你只有一个音频,所以也许你的javascript方法接受一个参数来确定哪一个禁用等等。 此外,这是假设用户不是简单地刷新页面。如果您想在用户刷新页面时隐藏它,我会查看PHP sessions

希望这有帮助!