我是靠谱客的博主 故意小懒虫,最近开发中收集的这篇文章主要介绍vue中使用videojs播放m3u8格式的视频,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.安装videojs

npm install --save video.js

2.使用

<template>
  <div class="video-box">
    <video
      id="video"
      class="video-js vjs-default-skin vjs-big-play-centered"
      controls
      preload="none"
    ></video>
  </div>
</template>

<script>
import videojs from "video.js";
import 'video.js/dist/video-js.css' // 播放器样式,不引入播放器样式贼乱了
export default {
  props: {
    videoUrl: {
      type: String,
      required: true,
    },
  },
  data() {
    return {
      // videoUrl: 'https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8'
      myPlayer: null,
    };
  },
  mounted() {
  // 动态加载video,关闭时卸载,否则只能播放第一个视频
    this.$nextTick(() => {
      if (this.myPlayer) {
        this.myPlayer.dispose();
        $(".video-box").html(
          '<video id="video" class="video-js vjs-default-skin" controls width="500" height="264"></video>'
        );
      } else {
        this.getVideo();
        this.myPlayer.dispose();
        $(".video-box").html(
          '<video id="video" class="video-js vjs-default-skin" controls width="500" height="264"></video>'
        );
      }
      this.getVideo()
    });
  },
  methods: {
    getVideo() {
      this.myPlayer = videojs(
        "video",
        {
          //确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
          controls: true,
          //自动播放属性,muted:静音播放
          muted: true,
          autoplay: true,
          //建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
          preload: "auto",
          //设置视频播放器的显示宽度(以像素为单位)
          // width: "400px",
          //设置视频播放器的显示高度(以像素为单位)
          // height: "522px",
          // url
          // poster: 'https://static.shuxuejia.com/img/video_image.png',
          sources: [
            {
              src: this.videoUrl,
              type: "application/x-mpegURL",
            },
          ],
          playbackRates: [0.5, 1, 1.5, 2], //倍速播放
        },
        function onPlayerReady() {
          videojs.log("Your player is ready!"); // 比如: 播放量+1请求

          this.on("ended", function () {
            videojs.log("Awww...over so soon?!");
          });
        }
      );
    }
  }
}
</script>

最后

以上就是故意小懒虫为你收集整理的vue中使用videojs播放m3u8格式的视频的全部内容,希望文章能够帮你解决vue中使用videojs播放m3u8格式的视频所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部