html5视频播放自动全屏
2019-07-01 10:33
501 查看
[code]var videoF = (function() { var tmpV = {}; var video_playing; /** * @description 切换内容列时暂停当前播放的视频 */ function pausedVBeforeChangeLi() { if (video_playing && !video_playing.ended && !video_playing.paused) { video_playing.pause(); } }; tmpV.pausedVBeforeChangeLi= pausedVBeforeChangeLi; /** * @description 播放全屏 很诡异,这个方法居然不可用 * @param {Object} element */ function launchFullScreen(element) { if (element.requestFullScreen) { element.requestFullScreen(); } else if (element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if (element.webkitRequestFullScreen) { element.webkitRequestFullScreen(); } }; /** * @description 取消全屏 这个方法也是不可用 * @param {Object} elem */ function cancelFullScrren(elem) { elem = elem || document; if (elem.cancelFullScrren) { elem.cancelFullScrren(); } else if (elem.mozCancelFullScreen) { elem.mozCancelFullScreen(); } else if (elem.webkitCancelFullScreen) { console.log("webkitCancelFullScreen"); elem.webkitCancelFullScreen(); } }; /** * @return 返回支持的全屏函数 从网上找到了这段代码,具体网址忘记了,返回支持的全屏方法,在Safari上可用 * @param {Object} elem */ function fullscreen(elem) { var prefix = 'webkit'; if (elem[prefix + 'EnterFullScreen']) { return prefix + 'EnterFullScreen'; } else if (elem[prefix + 'RequestFullScreen']) { return prefix + 'RequestFullScreen'; }; return false; }; /** * @description video相关事件的绑定 * @param {Object} v */ function videoEvent(v) { var video = v, doc = document; video.addEventListener('play', function() { //每次只能播放一个视频对象 if (video_playing && video_playing !== this) { console.log('multi') pausedVBeforeChangeLi(); } video_playing = this; console.log('play'); var fullscreenvideo = fullscreen(video); video[fullscreenvideo](); }); video.addEventListener('click', function() { //点击时如果在播放,自动全屏;否则全屏并播放 console.log('click') if (this.paused) { console.log('paused'); this.play(); } else { var fullscreenvideo = fullscreen(video); video[fullscreenvideo](); } }) video.addEventListener('pause', function(e) { this.webkitExitFullScreen(); }); video.addEventListener("webkitfullscreenchange", function(e) { //TODO 未侦听到该事件 console.log(3); if (!doc.webkitIsFullScreen) { //退出全屏暂停视频 video.pause(); }; }, false); video.addEventListener("fullscreenchange ", function(e) { console.log(31); if (!doc.webkitIsFullScreen) { //退出全屏暂停视频 video.pause(); }; }, false); video.addEventListener('ended', function() { //播放完毕,退出全屏 console.log(4) this.webkitExitFullScreen(); }, false); }; tmpV.videoEvent = videoEvent; return tmpV; }());
来自转载有补充
补充具体调用,定义具体video标签后调用即可
[code] (function(){ video = document.getElementById("video"); videoF.videoEvent(video) initialize(); })();
https://www.geek-share.com/detail/2650211422.html
http://www.cnblogs.com/phillyx/
By小云菜:http://www.cnblogs.com/phillyx/
github:http://github.com/phillyx
相关文章推荐
- 【转】Android HTML5 Video视频标签自动播放与自动全屏问题解决
- Android HTML5 Video视频标签自动播放与自动全屏问题解决
- Android HTML5 Video视频标签自动播放与自动全屏问题解决
- 解决移动端中video点击视频播放会自动全屏
- Android如何让WebView中的HTML5页面实现视频全屏播放
- $ webview html5 自动播放视频 $
- HTML5 插入视频 自动播放
- iphone html5 无法自动播放视频
- iOS wkwebkit 播放HTML5 视频 全屏问题解决
- WebView播放html5视频和全屏。
- html5--移动端视频video的android兼容,去除播放控件、全屏等
- ios上微信视频不能自动播放和禁止默认全屏
- html5 video 手机端视频播放全屏显示
- Android webview全屏播放HTML5中的视频
- iframe HTML5视频全屏播放问题
- Android WebView 总结 —— 硬件加速使用HTML5播放视频及全屏方案
- html5在 Android / IOS上不能自动播放音乐或视频
- Android VideoView播放 项目中的 视频文件 自动横屏 全屏播放
- html5 video微信浏览器视频不能自动播放