1、JS播放音乐需要区分浏览器,来使用不用的对象来播放音乐。
2、在播放控制上要有【播放】和【停止】来控制音乐的播放。
3、基于以上思路,代码如下:
ios中使用audio,日常踩坑
必须!!!点击后才调用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()