Audio: 如果你愿意一层一层剥开我的心

栏目: JavaScript · 发布时间: 6年前

内容简介:Audio: 如果你愿意一层一层剥开我的心

我觉得DOM就好像是元素周期表里的元素,JS就好像是实验器材,通过各种化学反应,产生各种魔术。

Audio: 如果你愿意一层一层剥开我的心

1 Audio

通过打开谷歌浏览器的dev tools -> Settings -> Elements -> Show user agent shadow DOM, 你可以看到其实Audio标签也是由常用的 input标签和div等标签合成的。

Audio: 如果你愿意一层一层剥开我的心

2 基本用法

1 <audio src="http://65.ierge.cn/12/186/372266.mp3">
Your browser does not support the audio element.
</audio>

<br>

2 <audio src="http://65.ierge.cn/12/186/372266.mp3" controls="controls">
Your browser does not support the audio element.
</audio>

<br>

// controlsList属性目前只支持 chrome 58+
3 <audio src="http://65.ierge.cn/12/186/372266.mp3" controls="controls" controlsList="nodownload"> 
Your browser does not support the audio element.
</audio>

<br>

4 <audio controls="controls">
<source src="http://65.ierge.cn/12/186/372266.mp3" type='audio/mp3' />
</audio>

你可以看出他们在Chrome里表现的差异

Audio: 如果你愿意一层一层剥开我的心

关于audio标签支持的音频类型,可以参考 Audio#Supported_audio_coding_formats

Audio: 如果你愿意一层一层剥开我的心

3 常用属性

  • autoplay: 音频流文件就绪后是否自动播放

  • preload: "none" | "metadata" | "auto" | ""

    • "none": 无需预加载

    • "metadata": 只需要加载元数据,例如音频时长,文件大小等。

    • "auto": 自动优化下载整个流文件

  • controls: "controls" | "" 是否需要显示控件

  • loop: "loop" or "" 是否循环播放

  • mediagroup: string 多个视频或者音频流是否合并

  • src: 音频地址

4 API

  • load(): 加载资源

  • play(): 播放

  • pause(): 暂停

  • canPlayType(): 询问浏览器以确定是否可以播放给定的MIME类型

  • buffered():指定文件的缓冲部分的开始和结束时间

5 常用事件:Media Events

事件名 何时触发
loadstart 开始加载
progress 正在加载
suspend 用户代理有意无法获取媒体数据,无法获取整个文件
abort 主动终端下载资源并不是由于发生错误
error 获取资源时发生错误
play 开始播放
pause 播放暂停
loadedmetadata 刚获取完元数据
loadeddata 第一次渲染元数据
waiting 等待中
playing 正在播放
canplay 用户代理可以恢复播放媒体数据,但是估计如果现在开始播放,则媒体资源不能以当前播放速率直到其结束呈现,而不必停止进一步缓冲内容。
canplaythrough 用户代理估计,如果现在开始播放,则媒体资源可以以当前播放速率一直呈现到其结束,而不必停止进一步的缓冲。
timeupdate 当前播放位置作为正常播放的一部分而改变,或者以特别有趣的方式,例如不连续地改变。
ended 播放结束
ratechange 媒体播放速度改变
durationchange 媒体时长改变
volumechange 媒体声音大小改变

6 Audio DOM 属性

6.1 只读属性

  • duration: 媒体时长,数值, 单位s

  • ended: 是否完成播放,布尔值

  • paused: 是否播放暂停,布尔值

6.2 其他属性

  • playbackRate: 播放速度,大多数浏览器支持0.5-4, 1表示正常速度

  • volume:0.0-1.0之间

  • muted: 是否静音

以下方法可以使音频以2倍速度播放。

<audio id="wdd" src="http://65.ierge.cn/12/186/372266.mp3" controls="controls">
Your browser does not support the audio element.
</audio>

<script>
    var myAudio = document.getElementById('wdd');
    myAudio.playbackRate = 2;
</script>

7 参考资料


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

白话大数据与机器学习

白话大数据与机器学习

高扬、卫峥、尹会生 / 机械工业出版社 / 2016-6 / 69

本书通俗易懂,有高中数学基础即可看懂,同时结合大量案例与漫画,将高度抽象的数学、算法与应用,与现实生活中的案例和事件一一做了关联,将源自生活的抽象还原出来,帮助读者理解后,又带领大家将这些抽象的规律与算法应用于实践,贴合读者需求。同时,本书不是割裂讲解大数据与机器学习的算法和应用,还讲解了其生态环境与关联内容,让读者更全面地知晓渊源与未来,是系统学习大数据与机器学习的不二之选: ·大数据产业......一起来看看 《白话大数据与机器学习》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具