佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > HTML5在手機(jī)端實(shí)現(xiàn)視頻全屏展示方法

HTML5在手機(jī)端實(shí)現(xiàn)視頻全屏展示方法

熱門標(biāo)簽:百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 使用U盤裝系統(tǒng) 智能手機(jī) 檢查注冊(cè)表項(xiàng) 阿里云 美圖手機(jī) 網(wǎng)站建設(shè) 硅谷的囚徒呼叫中心

最近做項(xiàng)目,遇到一個(gè)問(wèn)題,在手機(jī)上要實(shí)現(xiàn)視頻的全屏播放功能。測(cè)試了很久,終于找到解決辦法。

第一種:將視頻放大來(lái)控制。

視頻在播放的時(shí)候,全屏是根據(jù)高度來(lái)的,如果設(shè)置視頻 video 標(biāo)簽的寬度是 100% 高度是 110% ,可以實(shí)現(xiàn)全屏,超過(guò)是溢出隱藏就可以了。

確定:手機(jī)屏幕尺寸不固定,這個(gè)高度110%不好確定。

第二種:使用 object-fit 來(lái)解決

直接上代碼:

<video preload='auto' id='video'  src=''  webkit-playsinline='true' playsinline='true'x-webkit-airplay='true' x5-video-player-type='h5' x5-video-player-fullscreen='true'x5-video-ignore-metadata='true'  width='100%' height='100%'><p> 不支持video</p> </video>

編譯后在頁(yè)面內(nèi)部播放視頻而不會(huì)跳出使用系統(tǒng)播放器全屏播放視頻了。而且z-index屬性也可以正常定義,使其他元素可以覆蓋在視頻上面。

css:保持畫面的原有比例

#my-video{
    object-fit: cover;
    object-position: center center;

簡(jiǎn)單的demo實(shí)現(xiàn):

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>視頻播放器</title>
<style type="text/css">
*{margin:0px; padding:0px;}
.app{width: 100%; height:100%; position: absolute; top:0px; right:0px; bottom: 0px; left:0px; overflow: hidden;}
.video{width: 100%; height: 100%;}
#my-video{object-fit: cover; object-position: center center;}
</style>
</head>
<body>
<div id="app" class="app">
    <video preload='auto' id='my-video' ref="video" :src="videoUrl" @click="player" loop autoplay="autoplay" webkit-playsinline='true' playsinline='true'x-webkit-airplay='true' x5-video-player-type='h5' x5-video-player-fullscreen='true'x5-video-ignore-metadata='true'  width='100%' height='100%'><p> 不支持video</p> </video>
</div>
</body>
<script type="text/javascript" src="./js/vue.min.js"></script>
<script type="text/javascript">
// vue 解析
var Application = new Vue({
    el: "#app",
    data: {
        videoUrl:'',
        video:null,
    },
    mounted: function(){
        this.videoUrl = "http://gamaru.wpgcms.com/media/file/movie/dkSdfdqur5uQKV5p.mp4";
        this.video = this.$refs.video;
    },
    methods: {
        player:function(){
            console.log(this.video.clientWidth);
            console.log(this.video.clientHeight);
            if(this.video.paused){
                // 播放
                this.video.play();
            }else{
                // 暫停
                this.video.pause()
            };            
        }
    }
});
</script>
</html>

解釋下:object-fit

  • fill: 中文釋義“填充”。默認(rèn)值。替換內(nèi)容拉伸填滿整個(gè)content box, 不保證保持原有的比例。
  • contain: 中文釋義“包含”。保持原有尺寸比例。保證替換內(nèi)容尺寸一定可以在容器里面放得下。因此,此參數(shù)可能會(huì)在容器內(nèi)留下空白。
  • cover: 中文釋義“覆蓋”。保持原有尺寸比例。保證替換內(nèi)容尺寸一定大于容器尺寸,寬度和高度至少有一個(gè)和容器一致。因此,此參數(shù)可能會(huì)讓替換內(nèi)容(如圖片)部分區(qū)域不可見(jiàn)。
  • none: 中文釋義“無(wú)”。保持原有尺寸比例。同時(shí)保持替換內(nèi)容原始尺寸大小。
  • scale-down: 中文釋義“降低”。就好像依次設(shè)置了none或contain, 最終呈現(xiàn)的是尺寸比較小的那個(gè)

詳細(xì)了解 object-fit:https://www.cnblogs.com/e0yu/p/10670990.html

到此這篇關(guān)于HTML5在手機(jī)端實(shí)現(xiàn)視頻全屏展示方法的文章就介紹到這了,更多相關(guān)HTML5視頻全屏內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:湘潭 山南 湖北 賀州 煙臺(tái) 通遼 懷化 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5在手機(jī)端實(shí)現(xiàn)視頻全屏展示方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    射洪县| 宁德市| 滦平县| 建平县| 泗阳县| 阳江市| 洪泽县| 佳木斯市| 馆陶县| 郴州市| 舒城县| 乃东县| 黄冈市| 云林县| 桃源县| 玉树县| 葫芦岛市| 五华县| 连平县| 理塘县| 娄底市| 会东县| 红原县| 木里| 壶关县| 岳西县| 长宁区| 莲花县| 宁陵县| 陈巴尔虎旗| 巫山县| 凤阳县| 社会| 海南省| 广德县| 泽州县| 栖霞市| 岗巴县| 永登县| 兴城市| 连江县|