操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    網頁放置視頻播放器,我一般都是用video.js和它的插件vue-video- 一:Video.js 需求:對于簡單的視頻播放需求來說,video.js足以勝任了。 它可是支持HTML5和Flash的視頻播放器呦。 1:安裝

    網頁放置視頻播放器鋪滿網頁需要多大,我一般都是用video.js和它的插件vue-video-

    一:Video.js

    需求:對于簡單的視頻播放需求來說,video.js足以勝任了。

    它可是支持HTML5和Flash的視頻播放器呦。

    1:安裝video.js

    npm -s video.js

    2:在main.js文件中引入相關文件

    import Video from 'video.js'
    import 'video.js/dist/video-js.css'
    Vue.prototype.$video = Video

    3:在組件中使用

    <script>
     export default {
      name: "Video",
      data() {
       return {
        videoUrl:'...',//視頻地址
       };
      },
      mounted() {
       this.initVideo(); //初始化視頻播放器
      },
      methods: {
       initVideo() {
        //初始化視頻方法
        let myPlayer = this.$video(myVideo, {
         //是否顯示控制欄
         controls: true,
         //是否自動播放,muted:靜音播放
         autoplay: false,
         //是否靜音播放
         muted:false,
         //是否流體自適應容器寬高
         fluid:true,
         //設置視頻播放器的顯示寬度(以像素為單位)
         width: "800px",
         //設置視頻播放器的顯示高度(以像素為單位)
         height: "400px"
        });
       }
      }
     };
    </script>

    4:效果圖

    5:附上video.js的一些基本方法

    myPlayer.ready(function(){
     //視頻播放器初始化完成后的回調函數,this代表當前播放器,可以在這進行一系列的操作(myPlayer為我視頻播放器對象)
     myPlayer.play(); //播放
     myPlayer.pause(); //暫停
     var currentTime = myPlayer.currentTime(); //當前播放進度
     myPlayer.currentTime(120); //自定義修改當前進度
     var duration = myPlayer.duration(); //加載完成視頻后就可以獲取視頻總時長了,注意:在flash情況下無效!
     var buffered = myPlayer.buffered(); //視頻緩沖,返回值為下載了多大文件
     var bufferedPercent = myPlayer.bufferedPercent(); //視頻緩沖,返回值為下載了百分之幾
     var volume = myPlayer.volume(); //獲取視頻音量大小,值在0-1之間
     myPlayer.volume(0.2); //設置視頻音量大小
     var width = myPlayer.width(); //獲取視頻的寬度
     myPlayer.width(640); //設置視頻的寬度
     var howTallIsIt = myPlayer.height(); //獲取視頻的高度
     myPlayer.height(200); //設置視頻高度
     myPlayer.size(640,480); //同時設置視頻高寬
     myPlayer.enterFullScreen(); //視頻全屏顯示
     myPlayer.enterFullScreen(); //視頻退出全屏顯示
    })

    除此之外,我們還可以綁定監聽事件:

    //視頻播放完畢的回調事件
    myPlayer.on("ended", function(){
     console.log("end", this.currentTime());
    });
    //視頻暫停的回調事件 
    myPlayer.on("pause", function(){
     console.log("pause")
    });
    //視頻刪除事件
    myPlayer.removeEvent(“eventName”, function(){
     console.log("delete")
    });

    二:vue-video-

    1:下載vue-video-

    npm -s vue-video-

    2:在main.js中引入相關文件

    import VideoPlayer from 'vue-video-player'
    require('video.js/dist/video-js.css')
    require('vue-video-player/src/custom-theme.css')
    //引入 hls,視頻直播(m3u8)必須引入的
    import 'videojs-contrib-hls'
    //播放rtmp視頻
    import 'videojs-flash'
    //如果你需要自定義播放器的樣式,自己新建一個css
    require('./assets/css/video_css/myvideo.css')
    Vue.use(VideoPlayer)

    3:組件中使用(有點長,其實多數是列出的一些回調函數而已,不需要使用的話忽略掉即可)

    
    <script>
     // 導入組件
     import {videoPlayer} from 'vue-video-player'
     export default {
      name: 'VideoPlayer',
      components: {
       videoPlayer
      },
      data () {
       return {
        video:'',     //具體視頻
        fileType: 'mp4', // 資源的類型
        videoUrl: '', // 資源的路徑地址
        posterUrl:'' //封面地址
       }
      },
      mounted(){
       
      },
      methods:{
       // 播放回調
       onPlayerPlay(player) {
        //console.log('player play!', player)
       },
       // 暫停回調
       onPlayerPause(player) {
        //console.log('player pause!', player)
       },
       // 視頻播完回調
       onPlayerEnded($event) {
        this.$refs.videoPlayer.player.src(this.fileUrl)
       },
       // DOM元素上的readyState更改導致播放停止
       onPlayerWaiting($event) {
        //console.log(player)
       },
       // 已開始播放回調
       onPlayerPlaying($event) {
        // console.log(player)
       },
       // 當播放器在當前播放位置下載數據時觸發
       onPlayerLoadeddata($event) {
        // console.log(player)
       },
       // 當前播放位置發生變化時觸發。
       onPlayerTimeupdate($event) {
        //console.log(player)
       },
       //媒體的readyState為HAVE_FUTURE_DATA或更高
       onPlayerCanplay(player) {
        // console.log('player Canplay!', player)
       },
       //媒體的readyState為HAVE_ENOUGH_DATA或更高。這意味著可以在不緩沖的情況下播放整個媒體文件。
       onPlayerCanplaythrough(player) {
        // console.log('player Canplaythrough!', player)
    

    鋪滿網頁需要多大_1280網頁全屏是多大_設置圖片鋪滿網頁

    }, //播放狀態改變回調 playerStateChanged(playerCurrentState) { //console.log('player current update state', playerCurrentState) }, //將偵聽器綁定到組件的就緒狀態。與事件監聽器的不同之處在于,如果ready事件已經發生,它將立即觸發該函數。。 playerReadied(player) { //console.log('example player 1 readied', player); }, }, computed: { videoPlayerOptions () { const videoPlayerOptions = { playbackRates: [0.75, 1.0, 1.25, 1.5,2.0], //播放速度 autoplay: false, // 是否自動播放。 muted: false, // 是否靜音播放,默認情況下將會消除任何音頻。 loop: false, // 是否循環播放。 preload: 'auto', // 建議瀏覽器在

    4:效果圖

    一些改進:

    1:消除視頻兩邊留白,也就是實現視頻鋪滿父元素

    通過添加樣式-fit:fill;來實現視頻鋪滿

    video{
       width: 100% !important;
       height: calc(100vh - 95px) !important;
       object-fit:fill;  //消除留白
      }

    效果圖:(視頻左右兩邊是沒有黑邊了的)

    補充-fit取值的相關知識:

    設置圖片鋪滿網頁_鋪滿網頁需要多大_1280網頁全屏是多大

    fill:此值為-fit的默認值,替換內容的大小被設置為填充元素的內容框,也就是說,元素的內容擴大到完全填充容器的外形尺寸,即使這打破其內在的寬高比。

    :替換元素內容大小保持長寬比例填充元素內容容器,其具體對象大小被解析為一個包含元素的寬度和高度。也就是說,如果你在替換元素上設置一個明確的高度和寬度,此值將導致內容大小,完全在固定的比例顯示,但仍在元素尺寸內顯示。

    cover:替換元素內容大小保持長寬比例填充元素內容容器,其具體對象大小被解析為覆蓋整個元素的寬度和高度。也就是說,替換元素內容大小保持長寬比,但改變寬度和高度,以便完全覆蓋內容元素。

    none:替換元素內容不調整大小以適應內部元素的容器,內容完全忽略設置在元素上的任何高度和權重,并且仍在元素尺寸內顯示。 scale-down:當內容大小設置了none或,將導致具體對象變得更小。

    2:實現自適應高寬

    通過上面設置的fluid:true雖然可以自適應寬高,但有時候需求是規定視頻總高度的,如果只是靠fluid來自適應是遠遠不夠的。

    我的需求效果圖:

    pc端:

    移動端:

    我遇到的問題:

    設置video視頻高寬100%后,總高度卻超出了那個位置的高度,試了很多方法都不行,后來就才去了簡單粗暴的方法去解決–修改css樣式。(覺得有用再用吧各位)

    注意:這里我是去掉了之前在中設置的fluid:true和: '16:10'再改css樣式的

    html代碼:

    自定義css樣式:

    @media and(min-width:768px){ //pc端視頻鋪滿且占據整個容器的高寬,而移動端不需要視頻占據整個高度,因為會拉長視頻,很難看

      video{
       width: 100% !important;
       height: calc(100vh - 95px) !important; //我的容器高度設置的是100vh-95px,你們根據你們容器高度設置視頻高度即可
       object-fit:fill;  //消除兩邊留白
      }
     }
     //為了填滿整個my_video的高度,設置video外層div高度(就是移動端效果圖包含黑色部分和視頻部分的整個div),使之為容器高度
     #videoDiv>div{
      height: calc(100vh - 95px) !important;
      overflow: hidden;
     }
     .my_video{  //這是我放視頻播放器的容器
      width: 100%;
      height: calc(100vh - 95px);
      background-color: white;
     }

    補充知識:vue中使用 vue-video-的幾個問題

    video.js 插件在vue中是 vue-video-;

    我們在vue中播放視頻可以使用這個插件;

    下面簡單描述幾個使用中的問題,不涉及其他問題:

    1、自定義播放處理 , 我們自己如何去觸發播放這個事件

    2、播放,停止觸發的函數相關處理;

    3、在安卓的微信中播放視頻不能播放的問題;

    1、自定義播放,假設現在自己寫了一個, 或者其他什么東西放在視頻上方,要求點擊這個玩意兒播放視頻,

    你也可以理解為播放按鈕; 那么首先肯定得綁定事件,vue綁定事件就不說了,應該都會,那么在這個綁定的

    事件函數中,我們如何去播放視頻呢?:this.$refs...play(); 就可以了

    2、播放或者停止播放時鋪滿網頁需要多大,我想怎加一些額外的處理,那么可以在

    如下代碼,在相應的函數中處理即可,還有其它的事件也都類似處理;

    3、在 設置 參數的時候,如果我們設置為true 或者 false 是會出問題的,

    所以需要根據情況進行處理,這里的情況一般是微信瀏覽器的 x5內核,需要設置為 false, 其它的設置為 true 即可;

    如果微信的 x5 設置為 true , 那么在安卓中微信環境下是無法播放的,是有問題的;

    下面的代碼是部分代碼,僅供參考設置:

     
     
    <script>
    import 'video.js/dist/video-js.css'
    import { videoPlayer } from 'vue-video-player'
     
    export default {
      name: 'Video',
      props: {
        videoUrl: Object
      },
      data() {
        return{
          playerOptions: {
            playbackRates: [0.7, 1.0, 1.5, 2.0],
            autoplay: false,
            muted: false,
            loop: false,
            preload: 'auto', 
            language: 'zh-CN',
            aspectRatio: '16:9',
            fluid: true, 
            sources: [{
              type: "video/mp4",
              src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"
            }],
            poster: "http://localhost/547be638615da10.png",
            width: document.documentElement.clientWidth,
            notSupportedMessage: '此視頻暫無法播放,請稍后再試',
            controlBar: {
              timeDivider: true,
              durationDisplay: true,
              remainingTimeDisplay: false,
              fullscreenToggle: true //全屏按鈕
            }
          },
          videoButton: require("../video_player.png"),
        }
      },
      components: {
        videoPlayer
      },
      mounted() {
       
       this.playerOptions.sources[0].src = this.videoUrl.a;
       this.playerOptions.poster = this.videoUrl.b
      },
      computed: {
       player() {
        return this.$refs.videoPlayer.player
       },
     
       playsinline(){
        var ua = navigator.userAgent.toLocaleLowerCase();
        if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
          return false
        }else{
          return true       
        }
       }
     
      },
      methods: {
        clickStartButton: function(){
          this.$refs.videoPlayer.player.play();
        },
        onPlayerPlay(player) {
          this.videoPlayState = true;
        }
      }
    }
    </script>

    以上這篇vue video和vue-video-實現視頻鋪滿教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持易盾網絡。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有