微信网页ios自动播放音频、视频
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信网页ios自动播放音频、视频相关的知识,希望对你有一定的参考价值。
参考技术A 安卓自动播放直接加autoplay但是由于ios安全方面的考虑,不让自动播放媒体资源,怎么办呢?微信有办法~
这里的config错误也没关系,也会执行wx.ready的;
不过这里要注意,在wx.ready的时候要保证能拿到audio元素,我一开始加了个显示audio的判断,发现在wx.ready里面打印没拿到audio所以没播放,误以为这种方法不行。
h5页面自动播放视频音频_关于媒体文件自动全屏播放的实现方式
在移动端(ios和android)播放视频的时候,我们即使定义了autoplay属性,仍然不能自动播放。这是由于手机浏览器为了防止浪费用户的网络流量,在默认情况下是不允许媒体文件自动播放的,除非用户自己对浏览器进行设置才能支持autoplay。但是在我们可以通过相关事件来实现:
经发现微信通过"WeixinJSBridgeReady"和"DOMContentLoaded"这2个事件结合可以实现自动播放,那如果不是微信呢?我们可以可以加个触摸事件去实现。下面就给出代码简单的实现下
video.js代码:
;(function(w){
var play={
autoPlay:function(id,istouch){//媒体id,istouch是否开启触摸播放[自动播放视频]
var media=document.getElementById(id);
function toplay(){//播放
if(media.paused) media.play();
}
if(istouch) document.addEventListener(‘touchstart‘,toplay);
function wxhandle(){//微信播放
toplay();
document.addEventListener("WeixinJSBridgeReady", function(){toplay();}, false);
document.removeEventListener(‘DOMContentLoaded‘, wxhandle);
}
document.addEventListener(‘DOMContentLoaded‘,wxhandle);
},
pausedclick:function(id,vid,fn){//[按钮id,媒体id,回调].点击事件-停止播放,操作
var _self=this;
document.getElementById(id).addEventListener(‘click‘,function(){
document.getElementById(vid).pause();
fn();
});
},
};
w.play=play;
})(window);
51220网站目录 https://www.51220.cn
页面调用:
<video id="myvideo" src="***.mp4" width="100%" height="100%" preload x5-video-player-type="h5" x5-video-player-fullscreen="true" x-webkit-airplay="true" webkit-playsinline playsinline="true">
<source src="***.mp4"></source>
</video>
<button id="stop">停止</button>
<script src="video.js"></script>
<script>
play.autoPlay(‘myvideo‘,true);//播放
play.pasuedclick(‘stop‘,‘myvideo‘,function(){//点击按钮停止
//....其他代码
});
</script>
备注:video中的属性是用于全屏播放的实现,如果在android的微信里面,上面的代码出现上下有黑边,导致不能全屏的情况,解决办法如下:
给video加上object-fit: fill;的style属性。
以上是关于微信网页ios自动播放音频、视频的主要内容,如果未能解决你的问题,请参考以下文章
H5-video1 iOS苹果和微信中音频和视频实现自动播放的方法
h5页面自动播放视频音频_关于媒体文件自动全屏播放的实现方式