在音频播放期间使用<音频>标签和Javascript

Change anchor text/icon during audio play using <audio> tags and Javascript

本文关键字:音频 gt Javascript lt 标签 播放      更新时间:2023-09-26

我正在使用HTML <audio>标记在页面上添加MP3短片(约6-8kb)。我使用服务器端PHP添加标签,如下所示:

$soundnode->appendXML('<span class="sound"><audio id="yourAudio" preload="none"><source src="' . $soundlink . '" type="audio/mpeg" /></audio><a href="javascript:;" id="audioControl" onclick="playclip();" data-toggle="tooltip" data-original-title="Hear it spoken"><i class="fa fa-2x fa-volume-up pronounce"></i></a></span>');
$node->appendChild($soundnode);

在页面上,一个标签看起来像:

<span class="sound">
   <audio id="yourAudio" preload="none">
      <source src="bootstrap/pronunciations/jjugar01sp.mp3" type="audio/mpeg">
   </audio>
   <a href="javascript:;" id="audioControl" onclick="playclip();" data-toggle="tooltip" data-original-title="Hear it spoken">
      <i class="fa fa-2x fa-volume-up pronounce"></i>
   </a>
</span>

为了播放所述音频文件,我使用由<a>标签的onclick事件调用的playclip()方法形式的JavaScript。此功能如下所示:

function playclip(){
    var yourAudio = document.getElementById('yourAudio');
    yourAudio.play();
    return false;
}

这很好,但在播放音频时,有没有办法将Font Awesome扬声器图标更改为其他字体Awesome图标?我知道通过添加代码来更改playclip()函数中的标记很容易做到这一点。然而,我不知道如何确保更改仅在片段播放时适用,然后在播放结束后恢复为原始更改。

应该不会太难。

使用onplay和onpause事件:http://www.w3schools.com/jsref/event_onplay.asphttp://www.w3schools.com/jsref/event_onpause.asp

<audio id="yourAudio" preload="none" onplay="boo()" onpause="bong()">

在这些功能中,更改fa图标。

附言:我知道它似乎是为视频,但我想我也为音频工作。希望我没有错