在pc上的浏览器都可以播放,在安卓手机上的浏览器都不能播放,而且使用手机微信就可以正常播放
来源:7-8 播放器歌曲播放功能实现
七宝白月轮
2017-11-16
按照老师敲的代码,在pc上的浏览器都可以播放,在安卓手机上的浏览器都不能播放但是其他效果都在,vconsole日志显示逻辑也都正常,而且使用微信打开url就可以正常播放,感觉this.$refs.audio.play()执行了但是没有效果,vuex状态也都对,我看也有同学问同样的问题,请问老师如何解决。
写回答
5回答
-
我的想法是既然需要手动触发,就让用户在开始进入的时候任何click事件都触发一次audio
//import VConsole from 'vconsole' //var vConsole = new VConsole(); //console.log('Hello world'); fastclick.attach(document.body) Vue.use(VueLazyload, { loading: require('common/image/default.png') }) /* eslint-disable no-new */ new Vue({ el: '#app', router, store, render: h => h(App), data(){ return { once: 0 } }, mounted(){ document.onclick = () => { this.once++ if(this.once<=1){ let audioPlay = document.getElementById('audio') audioPlay.play() }else{ document.onclick = null } } } })
012017-11-17 -
ustbhuangyi
2017-11-18
完美解决,参考最新代码,以下 commit 就是解决方案
https://github.com/ustbhuangyi/vue-music/commit/8fef850681e532b110733acfaa111ce4576da5ed
00 -
ustbhuangyi
2017-11-17
其实是 Vue 2.5+ 的坑,退回到 Vue 2.4 版本是没这个问题的
00 -
好吃的菜薹
2017-11-17
原因是安卓必须手动触发
00 -
ustbhuangyi
2017-11-16
试试这个地址是否有问题呢:http://ustbhuangyi.com/music/
012017-11-17
相似问题