Html5 Полноэкранное видео - PullRequest
30 голосов
/ 18 мая 2011

Есть ли способ сделать это? Я хочу воспроизводить видео в полноэкранном режиме. Без браузера. настройка width:100%; height:100%; держать браузер видимым пока

Ответы [ 7 ]

69 голосов
/ 18 мая 2011

Нет, пока нет возможности сделать это. Я хотел бы, чтобы они добавили такое будущее в браузеры.

EDIT:

Теперь есть Полноэкранный API для Интернета Вы можете requestFullscreen в элементе Видео или Холст, чтобы попросить пользователя дать вам разрешения и сделать это на весь экран.

Давайте рассмотрим этот элемент:

<video controls id="myvideo">
  <source src="somevideo.webm"></source>
  <source src="somevideo.mp4"></source>
</video>

Мы можем перевести это видео в полноэкранный режим следующим образом:

var elem = document.getElementById("myvideo");
if (elem.requestFullscreen) {
  elem.requestFullscreen();
} else if (elem.mozRequestFullScreen) {
  elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
  elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) { 
  elem.msRequestFullscreen();
}

Полная документация

14 голосов
/ 02 апреля 2014

Из CSS

video {
    position: fixed; right: 0; bottom: 0;
    min-width: 100%; min-height: 100%;
    width: auto; height: auto; z-index: -100;
    background: url(polina.jpg) no-repeat;
    background-size: cover;
}
5 голосов
/ 02 января 2013

Привет, HTML5 _ / \ _

var videoElement = document.getElementById('videoId');    
videoElement.webkitRequestFullScreen();
2 голосов
/ 13 января 2018

Вот очень простой способ (3 строки кода) с использованием метода Fullscreen API и RequestFullscreen , который я использовал и который совместим со всеми популярными браузерами:

var elem = document.getElementsByTagName('video')[0];
var fullscreen = elem.webkitRequestFullscreen || elem.mozRequestFullScreen || elem.msRequestFullscreen;
fullscreen.call(elem); // bind the 'this' from the video object and instantiate the correct fullscreen method.

Для совместимости с браузером: MDN & Можно ли использовать

2 голосов
/ 17 августа 2011

Вы можете сделать это с помощью jQuery.

У меня есть свои видео и элементы управления в их собственном <div>, например:

<div id="videoPlayer" style="width:520px; -webkit-border-radius:10px; height:420px; background-color:white; position:relative; float:left; left:25px; top:55px;" align="center">

    <video controls width="500" height="400" style="background-color:black; margin-top:10px; -webkit-border-radius:10px;">
         <source src="videos/gin.mp4" type="video/mp4" />
    </video>

    <script>  
        video.removeAttribute('controls');  
    </script> 

    <div id="vidControls" style="position:relative; width:100%; height:50px; background-color:white; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px; padding-top:10px; padding-bottom:10px;">

         <table width="100%" height="100%" border="0">

             <tr>
                 <td width="100%" align="center" valign="middle" colspan="4"><input class="vidPos" type="range" value="0" step="0.1" style="width:500px;" /></td>
             </tr>

             <tr>
                 <td width="100%" align="center" valign="middle"><a href="javascript:;" class="playVid">Play</a></td>
                 <td width="100%" align="center" valign="middle"><a href="javascript:;" class="vol">Vol</a></td>
                 <td width="100%" align="left" valign="middle"><p class="timer"><strong>0:00</strong> / 0:00</p></td>
                 <td width="100%" align="center" valign="middle"><a href="javascript:;" class="fullScreen">Full</a></td>
              </tr>

            </table>

         </div>

      </div>

И тогда мой jQuery для класса .fullscreen :

var fullscreen = 0;

$(".fullscreen").click(function(){
  if(fullscreen == 0){
    fullscreen = 1;
    $("video").appendTo('body');
    $("#vidControls").appendTo('body');
    $("video").css('position', 'absolute').css('width', '100%').css('height', '90%').css('margin', 0).css('margin-top', '5%').css('top', '0').css('left', '0').css('float', 'left').css('z-index', 600);
    $("#vidControls").css('position', 'absolute').css('bottom', '5%').css('width', '90%').css('backgroundColor', 'rgba(150, 150, 150, 0.5)').css('float', 'none').css('left', '5%').css('z-index', 700).css('-webkit-border-radius', '10px');

}
else
    {

        fullscreen = 0;

        $("video").appendTo('#videoPlayer');
        $("#vidControls").appendTo('#videoPlayer');

        //change <video> css back to normal

        //change "#vidControls" css back to normal

    }

});

Это требует небольшой очистки, так как я все еще работаю над этим, но это должно работать для большинства браузеров, насколько я вижу.

Надеюсь, это поможет!

1 голос
/ 14 сентября 2013
    if (vi_video[0].exitFullScreen) vi_video[0].exitFullScreen();
    else if (vi_video[0].webkitExitFullScreen) vi_video[0].webkitExitFullScreen();
    else if (vi_video[0].mozExitFullScreen) vi_video[0].mozExitFullScreen();
    else if (vi_video[0].oExitFullScreen) vi_video[0].oExitFullScreen();
    else if (vi_video[0].msExitFullScreen) vi_video[0].msExitFullScreen();
    else { vi_video.parent().append(vi_video.remove()); }
1 голос
/ 23 января 2012

Вы можете использовать html5 видеоплеер, который имеет функцию полноэкранного воспроизведения.Это очень хороший HTML5-плеер, чтобы посмотреть.
http://sublimevideo.net/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...