在全屏播放HTML5视频时,自定义控件仍然适用吗?

时间:2012-04-11 23:23:25

标签: html5 custom-controls html5-video fullscreen

我已经为我的HTML5视频制作了自定义控件,但我不知道如何在全屏时使用CSS。

这是[website]我基于我的控件。

在此网站上,您会注意到当您点击全屏按钮时,自定义控件会丢失,视频会恢复为默认的<video>控件。

有人知道如何在全屏模式下使用这些自定义控件样式/ CSS吗?

2 个答案:

答案 0 :(得分:13)

我回答了我自己的问题,关键是自定义控件位于<div>内,其中包含您要全屏播放的视频。在下面的代码中,此<div>称为“videoContainer”。

这是我用来解决这个问题的链接。 http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/ControllingMediaWithJavaScript/ControllingMediaWithJavaScript.html

这是在webkit和mozilla浏览器中进入和退出全屏模式的JS代码:

var $video=$('video');
//fullscreen button clicked
$('#fullscreenBtn').on('click', function() {
$(this).toggleClass('enterFullscreenBtn');
    if($.isFunction($video.get(0).webkitEnterFullscreen)) {
              if($(this).hasClass("enterFullscreenBtn"))
                  document.getElementById('videoContainer').webkitRequestFullScreen();                          
              else 
              document.webkitCancelFullScreen();    
    }  
    else if ($.isFunction($video.get(0).mozRequestFullScreen)) {
              if($(this).hasClass("enterFullscreenBtn"))
                  document.getElementById('videoContainer').mozRequestFullScreen(); 
               else 
                  document.mozCancelFullScreen();   
    }
    else { 
           alert('Your browsers doesn\'t support fullscreen');
    }
});

这是HTML:

<div id="videoContainer">
      <video>...<source></source>
      </video>
      <div> custom controls 
            <button>play/pause</button>
            <button id="fullscreenBtn" class="enterFullscreenBtn">fullscreen</button>
      </div>
</div>

答案 1 :(得分:1)

显示自定义控制器

#customController{
  -------------------;
  -------------------;
  -------------------;
  z-index: 2147483647;
}

隐藏原生控制器

video::-webkit-media-controls {
  display:none !important;
}
video::-webkit-media-controls-enclosure {
  display:none !important;
}