js解决音频audio在IOS系统下无法自动播放问题

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
给我灵感

我的做法是: 在获取到音频链接前

  audio.play()
  audio.pause()

先执行一次play 然后暂停,最后在获取到音频地址后 将音频时间设置为0 最后重新调用paly()

  audio.currentTime = 0
  audio.play()