uc浏览器触发不了audio 的play 方法

  1. 在开发播放器的时候真机调试发现uc浏览器不能触发audio标签的play事件 , 也不能自动播放。
  2. 测试代码
<template>
    <div class="audio-wrapper" ref="audioWrapper" @touchstart.stop="audioPlay">
        <audio @touchstart.stop @play="playing"
               src="//dl.stream.qqmusic.qq.com/C400000fcbn33tw0lQ.m4a?vkey=2287E4C8B54E21B92310DD2BE8218EF9FFDBAA41889FC74A90C23350F387C462F09AD6B9AEB411E2C7E8CBB8E5498BE09F0AB24D4A039FEB&amp;guid=4339008184&amp;uin=0&amp;fromtag=66"
               ref="audio" controls ></audio>
    </div>
</template>

<script>
  export default {
    methods: {
      audioPlay () {
        console.log(this.$refs.audio)
        console.log(this.$refs.audio.play)
        this.$refs.audio.play()
      },
      playing () {
        console.log('playing')
      }
    }
  }

</script>
<style scoped lang="stylus" rel="stylesheet/stylus">
    .audio-wrapper
        position: fixed
        width: 100%
        height: 100%
        background-color: rgba(0, 0, 0, 0.6)

</style>

3.测试结果
uc浏览器下触发touchstart事件之后,audio标签dom和play()方法都打印出来了,但是 audio标签的 play事件d调用的ready方法中的console没有执行 , 歌曲没有播放

clipboard.png

qq浏览器下触发touchstart事件后 audio标签dom , play() ,和 pinging 都打印出来了 歌曲也播放了
clipboard.png

回答的大佬们 抬头见喜低头捡钱啊!!

阅读 7.4k
4 个回答
新手上路,请多包涵

我也遇到了,郁闷
不能自动播放都没事,tmd连调用play()都播放不了

自动播放被取缔了。防止非法使用

新手上路,请多包涵

同遇... 在ios和android都不行,但是点击audio标签可以。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题