javascript - HTML音频onplay()事件期间,对超赞字体图标的动画效果

标签 javascript audio

我有一个HTML <audio>标记设置如下:

<span class="sound">
   <audio id="yourAudio" preload="none" onplay="playing();" onended="stopped();">
      <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-down pronounce"></i>
   </a>
</span>

有3个JS函数可实现此目的。

1. playclip():单击此图标时,此功能播放mp3文件。
function playclipwotd(){
    var wotdAudio = document.getElementById('wotdAudio');
    wotdAudio.play();
    return false;
}

2.播放():此功能可在播放文件时更改图标。
function playing(){
    var icon = document.getElementsByClassName("pronounce")[0];
    icon.className = "fa fa-2x fa-volume-up pronounce";
}

3. Stopped():文件播放完毕后,此功能会将图标更改回原始图标。
function stopped(){
    var icon = document.getElementsByClassName("pronounce")[0];
    icon.className = "fa fa-2x fa-volume-down pronounce";
}

这很棒,并且按预期工作。但是,如果可能的话,我试图在这里使用 playing()函数来尝试更多冒险。目前,该图标显示为fa-volume-down,在播放过程中更改为fa-volume-up,并在播放结束后返回fa-volume-down。这是为了给用户提供音频打开的视觉提示。如果可能的话,我想添加的是一种在播放过程中对扬声器图标进行动画处理的方式,以给人一种正在播放的感觉。例如,是否有可能以某种方式在整个播放过程中循环fa-volume-offfa-volume-downfa-volume-up类之间的图标循环(每个循环0.8秒),然后在 onended()触发器触发时返回fa-volume-down

最佳答案

我认为对您最有用的是使用gif。您可以免费或付费使用其中的许多软件。因此,您唯一要做的就是使用函数play()进行操作,但使用例如以下图像:
http://thebontotrecords.webs.com/images_smile/Music_Animation.gif

关于javascript - HTML音频onplay()事件期间,对超赞字体图标的动画效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34483601/

相关文章:

javascript - CORS 奇怪的行为

javascript - 哪个 JavaScript 函数可用于将字符数组转换为数字?

java - 在 SWT 项目中使用 JavaFX?

python - 使用 Anaconda 提示将我自己的音乐采样到 OpenAI 的点唱机中

audio - 无论如何,是否可以通过 HTML5 音频元素从 MP3 或 Ogg 的 Vorbis 评论中获取 ID3 元数据?

c++ - 如何混合两个音频 channel ?

javascript - 从另一个未被调用的 Lambda 函数中调用 Lambda 函数

javascript - 为什么这个 Array.length if else 检查不起作用?

javascript - 在调用每个函数时记录它的名称

PHP限制音频文件时长?