vedio.js官方vue教程是采用组件模式,切换视频失败。
参考和众多网上教程,最后采用去掉组件,直接调用this.player.src()方法切换成功记录下。
后续再研究组件的加载和传函数和参数的问题。
环境参数:
“video.js”: “^7.11.4”,
“vue”: “^2.6.11”,

代码如下:

<template>
    <div>
        <button type="submit" class="btn btn-primary" @click="handle_src('http://1***42/hls/02.mp4','video/mp4')">01</button>
        <button type="submit" class="btn btn-primary" @click="handle_src('http://1***42/hls/01wlf.mp4','video/mp4')">02</button>
        <button type="submit" class="btn btn-primary" @click="handle_src('https://www.runoob.com/try/demo_source/movie.mp4','video/mp4')">03</button>
        <button type="submit" class="btn btn-primary" @click="handle_src('http://1***42/hls/zhibo.m3u8','application/x-mpegURL')">hls</button>

        
        <video ref="videoPlayer" class="video-js"></video>


   </div>
</template>

<script>
import 'video.js/dist/video-js.css';

import videojs from 'video.js';


export default {
    name: "VideoPlayer",

    data () {
        return {
            videoOptions: {
                autoplay: "true",
                controls: "true",
                width: "900px",
                height: "500px",
                preload:'none',
                
                poster:"../assets/logo.png",
                sources: [
                    {
                        src:"https://www.runoob.com/try/demo_source/movie.mp4",
                        type: "video/mp4"
                       
 

                    }
                ]
            }
        }
    },
 methods: {
        handle_src(url,vtpye) {
            //this.player.src(url);
            this.player.src({src:url,type:vtpye});     
        }
    },
    
    mounted() {
        this.player = videojs(this.$refs.videoPlayer, this.videoOptions, function onPlayerReady() {
            console.log('onPlayerReady', this);
        })
    },
    beforeUnmount() {
        if (this.player) {
            this.player.dispose()
        }
    }
}
</script>
Logo

前往低代码交流专区

更多推荐