【问题标题】:Open a HTML5 video in fullscreen by default?默认全屏打开 HTML5 视频?
【发布时间】:2016-03-21 15:25:30
【问题描述】:

我希望在 HTML 应用中托管一些 HTML5 视频。在打开视频时,他们目前只是在一个页面内打开并默认使用可用的控件以及全屏打开选项进行播放,有没有什么方法可以在您打开页面后立即全屏播放?

<div class="video-container" data-tap-disable="true">
<div class="videotitle">{{product.title}}</div>
<div class="videoduration">Duration: {{product.duration}}</div>
<video id="myVideo" controls="controls" preload="metadata" autoplay="autoplay" webkit-playsinline="webkit-playsinline" class="videoPlayer"><source src="{{product.video}}" type="video/mp4"/></video>

这是我的 Angular 控制器,我假设 JS 代码将适合这里的某个地方,而不是我的 product.html

.controller('ProductCtrl', function (Products, $rootScope, $scope,  $stateParams, $state, $timeout) {
$scope.product = Products[$stateParams.productId];

var video = document.getElementById("myVideo");

// Stop video playing when we go to another page
$rootScope.$on('$stateChangeStart', function () {
stopVideo();
});

 // Go to list of other videos when individual HTML5 video has finished  playing
angular.element(video).bind('ended', function () {
$state.go('app.products');
});

function stopVideo() {
video.pause();
video.currentTime = 0;
}
});

【问题讨论】:

标签: html angularjs html5-video


【解决方案1】:
const elem = document.getElementById("myVideo");

if (elem.requestFullscreen) {
  elem.requestFullscreen();
} else if (elem.msRequestFullscreen) {
  elem.msRequestFullscreen();
} else if (elem.webkitRequestFullscreen) {
  elem.webkitRequestFullscreen();
}

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
【解决方案2】:
var video = $("#myVideo");
video.on('click', function(e){
    var vid = video[0];
    vid.play();
    if (vid.requestFullscreen) {
      vid.requestFullscreen();
    } else if (vid.mozRequestFullScreen) {
      vid.mozRequestFullScreen();
    } else if (vid.webkitRequestFullscreen) {
      vid.webkitRequestFullscreen();
    }
});

【讨论】:

  • 这不是 angularJS 答案(但它是一般的答案),OP 应该在指令中使用它并保持其控制器清洁 DOM 操作代码
  • 虽然复制粘贴不错。
  • 您的代码中有 webkit 和 moz 后备,但是这在 Android 中是否可以在应用程序中使用。此外,此代码已启用单击,而不是在打开页面时启用。
  • 请原谅我迟到的回应。无法自动打开全屏视频。这是关于客户安全的。这是您可以找到的全屏播放视频的可能解决方案之一。您可以根据需要对其进行编辑。
猜你喜欢
  • 2012-12-15
  • 1970-01-01
  • 2011-08-27
  • 2013-01-17
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多