<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>視頻播放</title> </head> <body> <div class="video"> <video id="video" controls="controls" preload="auto" poster="http://download.dcloud.net.cn/FastAndroid-mini.jpg" width="100%" height="auto"> <source src="http://download.dcloud.net.cn/FastAndroid-mini.m4v" type="video/mp4"> <source src="http://download.dcloud.net.cn/FastAndroid-mini.webm" type="video/webm"> <source src="http://download.dcloud.net.cn/FastAndroid-mini.ogv" type="video/ogg"> <source src="http://download.dcloud.net.cn/FastAndroid-mini.mp4"> </video> </div> <script type="text/javascript"> /** * 視頻全屏播放旋轉目前的邏輯 * 視頻全屏,即鎖定屏幕為橫屏。 * 視頻恢復,則解除屏幕方向的鎖定。 * 具體的切換,根據自己的實際業務做相應的操作。 */ // Android平台的視頻全屏旋轉 var fullScreenOfAndroid = function() { if(true) { // 最新5+API的支持 var self = plus.webview.currentWebview(); self.setStyle({ videoFullscreen: 'landscape' }); } else { // 如果暫未更新sdk,可以先使用差量升級等方式,做出兼容處理; // 舊版本下的兼容處理 document.addEventListener('webkitfullscreenchange', function() { var el = document.webkitFullscreenElement; //獲取全屏元素 if(el) { plus.screen.lockOrientation('landscape'); //鎖死屏幕方向為橫屏 } else { plus.screen.unlockOrientation(); //解除屏幕方向的鎖定 } }); } }; // iOS平台的視頻全屏旋轉 var fullScreenOfIos = function(videoElem) { // 監聽的事件與Android平台有很大區別 videoElem.addEventListener('webkitbeginfullscreen', function() { plus.screen.lockOrientation('landscape'); //鎖死屏幕方向為橫屏 }); videoElem.addEventListener('webkitendfullscreen', function() { plus.screen.unlockOrientation(); //解除屏幕方向的鎖定 }); }; // 涉及到5+API的內容,均在plusready事件后調用; document.addEventListener('plusready', function() { var osName = plus.os.name; if(osName === 'Android') { fullScreenOfAndroid(); } else if(osName === 'iOS') { var videoElem = document.getElementById('video'); fullScreenOfIos(videoElem); } }); </script> </body> </html>