h5页面自动播放视频、音频_关于媒体文件自动全屏播放的实现方式

时间:2023-01-23 14:27:10

在移动端(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属性。

h5页面自动播放视频、音频_关于媒体文件自动全屏播放的实现方式的更多相关文章

  1. Video如何不自动全屏播放?

    知乎:微信内置浏览器 如何小窗不全屏播放视频? 目前在微信中只能全屏播放,只有加入腾讯白名单的视频才能小屏播放. 知乎上讨论的解决方案尚未测试,太麻烦了.

  2. iOS APP 中H5视频默认全屏播放问题解决

    问题描述:在Android中,视频可以正常在H5页面局部播放,iOS中则自动切换至全屏模式. 查看资料得以解决,20190301记录下来. 解决方法:IOS10及以后,在 video标签页中只包含 w ...

  3. iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法&lpar;任意页面横竖屏或禁止&rpar;

    iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法 时间 2015-07-14 20:59:00  博客园-原创精华区 原文  http://www.cnblogs.com/fe ...

  4. iphone H5视频行内播放(禁止全屏播放)

    一般用户都知道,ios在网页点击视频播放时,视频会弹出全屏播放框. video标签的playsinline.webkit-playsinline标记根本就不会起作用. 还有传闻说对于没有声音的视频不会 ...

  5. audio与video控件&sol;标签的隐藏,iso&sol;Android下自动全屏播放,短暂黑屏问题

    (一)audio音频标签 <audio src="xxx.mp3"></audio> (二)video视频标签 <video src="xx ...

  6. &lbrack;转&rsqb;Android WebView播放视频(包括全屏播放),androidwebview

    Android WebView播放视频(包括全屏播放),androidwebview 最近项目开发中用到了WebView播放视频的功能,总结了开发中犯过的错误,这些错误在开发是及容易遇到的,所以我这里 ...

  7. video视频标签一些设置,包括封面、播放结束后的封面、视频占满屏幕的方式、视频播放暂停、展示控制栏、触发全屏播放事件

    video视频标签一些设置,包括封面.播放结束后的封面.视频占满屏幕的方式.视频链接.视频播放暂停.展示控制栏.触发全屏播放事件 <video id="video" auto ...

  8. video自动全屏播放

    video自动全屏播放 关于Screen.lockOrientation() https://developer.mozilla.org/en-US/docs/Web/API/Screen/lockO ...

  9. 【wpf基础】wpf MediaElement全屏播放视频功能

    最近在研究如何将视频全屏播放,一开始思路A:弹窗将MediaElement对象add到一个新的全屏窗体,报错 指定的元素已经是另一个元素的逻辑子元素.请先将其断开连接. 后续转换思路B:将本窗体其他控 ...

随机推荐

  1. 存储过程中的output跟return区别及实例说明

    存储过程return,表示该存储过程执行到当当前return位置,不再向下执行: 存储过程写法:set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER ...

  2. iOS分析UI利器——Reveal及简单破解方法

    Reveal作为分析APP UI的利器确实非常好用,用来查看任意UI布局也很方便 一.模拟器进行分析 1.打开Reveal(http://revealapp.com下载) 2.打开Xcode 3.Re ...

  3. DSP&lpar;1&rpar; -- 离散时间信号的序列类型

    1.单位采样序列δ(n):在MATLAB 中函数zeros(1,N)产生一个由N个零组成的列向量.它可用来实现有限区间的δ(n).然而,更高明的方法是利用逻辑关系式n==0来实现δ(n). 2.单位阶 ...

  4. 数据可视化:Echart中k图实现动态阈值报警及实时更新数据

    1 目标 使用Echart的k图展现上下阈值,并且当真实值超过上阈值或低于下阈值时候,标红报警. 2 实现效果 如下:

  5. jstl long类型数据转换为日期格式

    一.有WEB-INF下建立一个datetag.tld <?xml version="1.0" encoding="UTF-8"?> <tagl ...

  6. NYOJ-1070诡异的电梯【Ⅰ】

    这道题是个dp,主要考虑两种情况,刚开始我把状态转移方程写成了dp[i] = min(dp[i-1] + a, dp[i + 1] +b); 后来想想当推到dp[i]的时候,那个dp[i + 1]还没 ...

  7. PHP学习笔记一

    <html> <head> <title></title> <meta http-equiv="content-type" c ...

  8. 实现DataGridView和DevExpress&period;GridControl表头全选功能

    1)DevExpress控件的GridView的实现多选操作 先讲DevExpress控件的GridView的实现,要实现的功能基本上是处理单击全选操作.重新绘制表头等操作,首先在加载第一步实现相关的 ...

  9. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  10. JDBC连接SQL server与ADO&period;NET连接Sql Server对比

    JDBC连接SQL server与ADO.NET连接Sql Server对比 1.JDBC连接SQL server 1)java方面目前有很多驱动能够驱动连接SQL servernet.   主流的有 ...