HTML - 单击图像时如何播放和暂停音频?

时间:2017-12-11 13:53:08

标签: javascript html image audio

我已尝试过在此网站上找到的代码,但出于某种原因,它无法正常工作。希望有人可以提供帮助。当我点击gif时播放歌曲,但是当我再次点击gif时,它只是重播它。
这是我使用的代码:

<img src="lilgif.gif" alt="Play Button" onclick="StartOrStop('boss.mp3')">

<audio id="myAudio"></audio>

脚本:

function StartOrStop(audioFile) {
var audio = document.getElementById("myAudio");
if (!audio.src || audio.src !== audioFile) audio.src = audioFile;
if (audio.paused == false)
    audio.pause();
else
    audio.play();
}

2 个答案:

答案 0 :(得分:1)

请将您的if else语句括在花括号中 像这样。

target_ds = gdal.GetDriverByName('MEM').Create('', int(xSize), int(ySize), 1, gdal.GDT_Float32)

答案 1 :(得分:1)

我做了这个实例:

workign audio play pause on image

HTML:

<img id="startOrStopImg" src="http://wallpaper-gallery.net/images/dope-pictures/dope-pictures-17.jpg" alt="Play Button">
<audio id="audio" src="http://www.soundjig.com/pages/soundfx/futuristic.php?mp3=scifi21.mp3" type="audio/mp3" controls>
Your browser does not support the audio element.
</audio>

如果您只想与图片互动,则可以使用控件或不使用控件。不要忘记,旧的浏览器不具备HTML5音频,您应该始终放置文本,图像或其他东西来告诉用户问题出在哪里。你用图像做的好事(一个是图像被破坏或浏览器启用了辅助功能选项)

这里没什么特别的,我只为了方便的方向放了一些id,你可以在远程托管上测试真实文件。

JS:

document.getElementById("startOrStopImg").onclick = function() {
    var audio = document.getElementById("audio");
    if (audio.paused) audio.play();
    else audio.pause();
};

基本上,我在防御方面绑定了函数(这在HTML onclick绑定中是优选的)并编写了一个anon函数来将它作为一个值处理,因为我没有在其他地方使用它。

它只是访问音频元素API以检查播放是否播放或暂停。

编辑:我已经修复并放置了一个远程托管的图像,以获得完整的示例。现在看起来好多了。