簡體   English   中英

當我按下HTML5視頻元素的默認全屏按鈕時如何捕獲全屏事件?

[英]How to capture the fullscreen event when I press the default fullscreen button of HTML5 video element?

使用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標簽的自定義控制按鈕,並使用由鉻本身創建的默認控制欄。

現在我想在按下fullscreen按鈕時執行某些操作。 我找到了一個解決方案,將兩個監聽器: webkitbeginfullscreenwebkitendfullscreen到視頻對象,但它沒有被觸發。

我不確定Android或iOS,但<video>元素可以使用以下三個事件之一:

  • webkitfullscreenchange
  • mozfullscreenchange
  • fullscreenchange

並且就規范而言 ,這就是你所擁有的一切。

請參閱此示例或以下代碼:

function onFullScreen(e) {
  var isFullscreenNow = document.webkitFullscreenElement !== null
  alert('Fullscreen ' + isFullscreenNow)
}

document.getElementById("video").addEventListener('webkitfullscreenchange', onFullScreen)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM