我在使用 HTML5 video
标签时遇到问题并iconic
.
这是我模板的一部分:
<ion-view>
<ion-content overflow-scroll="true" data-tap-disable="true">
<div class="list card">
<div class="item item-body" style="padding: 5% 5% 5% 5%">
<div class="player">
<video controls="controls" autoplay id="sr"></video>
</div>
</div>
</div>
</ion-content>
</ion-view>
这是我的控制器:
.controller('viewVideoCtrl', function ($scope, $state, $stateParams) {
var videoPath = URL + "uploadFiles" + $stateParams.videoPath;
var videoObject = document.getElementById("sr");
videoObject.src = videoPath;
var webkitBeginFullScreen = function () {
alert("video has fullScreen!");
};
var onVideoEndsFullScreen = function () {
alert("fullScreen has end!");
};
videoObject.addEventListener('webkitbeginfullscreen', webkitBeginFullScreen, false);
videoObject.addEventListener('webkitendfullscreen', onVideoEndsFullScreen, false);
});
如您所见,video
标签没有自定义控制按钮,而是使用由chromium本身创建的默认控制栏。
现在我想在按下fullscreen
按钮时做点什么。我找到了一个解决方案,将两个侦听器:webkitbeginfullscreen
和 webkitendfullscreen
添加到视频对象,但它没有触发。
我真的不确定Android还是iOS,但是<video>
元素可以使用以下三个事件之一:
-
webkitfullscreenchange
-
mozfullscreenchange
-
fullscreenchange
就规格而言,这就是您所拥有的一切。
请参阅此示例或以下代码:
function onFullScreen(e) {
var isFullscreenNow = document.webkitFullscreenElement !== null
alert('Fullscreen ' + isFullscreenNow)
}
document.getElementById("video").addEventListener('webkitfullscreenchange', onFullScreen)