之前有自定义音乐播放器按钮的需求,便折腾了一下
主要使用到的控制函数
- play():加载并播放音频文件,除非文件已经暂停在其他位置,否则默认重头开始播放
- pause():暂停处于播放状态的音频文件
主要使用到的属性
只读
- ended:如果媒体文件播放完毕,则返回true
- duration:返回音频的长度,单位为s
- paused:如果媒体文件被暂停,则返回true,否则返回false
读写
- currentTime:设置或返回音频中的当前播放位置,单位为s
- loop:设置音频是否要循环播放,或查询是否已设置为loop
- muted:设置是否静音
- src:音频文件路径
- volume:在0.00到1.00间设置音量值,或查询当前音量值
实现过程中的注意事项
- muted与volume无联系,当muted设置为true时,volume可不为0
- 播放结束可用onended事件监控,但在更新进度条时也能实现监控ended,无需多一个监控事件
感想
个性化实现最难的部分就是音量控制条,主要是个人经验欠缺。设计的行为是:更改音量的过程中鼠标移出框外不自动隐藏,松开左键后再判断是否隐藏;从静音切换回有声时还原上次音量。
以下为音量部分代码(仅针对较新版本Chrome,其他浏览器与版本未测试)
1 | // 音量 |