必须!!!点击后才调用xxx.play()这个方法
但是我们音频链接数据如果是网络请求而来的,那我们可以这样做:
1.在无播放链接的情况下先调用一次xxx.play(),然后暂停xxx.pause()
2.请求到数据以后,替换链接
3.判断readyState的值
0 = HAVE_NOTHING - 没有关于音频是否就绪的信息
1 = HAVE_METADATA - 关于音频就绪的元数据
2 = HAVE_CURRENT_DATA - 关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒
3 = HAVE_FUTURE_DATA - 当前及至少下一帧的数据是可用的
4 = HAVE_ENOUGH_DATA - 可用数据足以开始播放
4.如果readyState===4,调用xxx.currentTime = 0 初始化
5.最后调用xxx.play()
感谢 https://blog.csdn.net/cmyh100/article/details/80695271
给我灵感
我的做法是: 在获取到音频链接前
先执行一次play 然后暂停,最后在获取到音频地址后 将音频时间设置为0 最后重新调用paly()
纯前端解码、播放、录音、编码 AMR 音频,无须服务器支持,基于 [amr.js]注意:由于使用了 amr.js 做编码和解码,因此 js 文件(压缩后,未 gzip)接近 500 KB,使用前请考虑。
使用时引用
html部分
初始化对象