当前位置: 首页 > 工具软件 > Vue-mmPlayer > 使用案例 >

VUE使用vue-video-player播放m3u8

孔经武
2023-12-01

先下载vue-video-player插件和hls

"hls.js": "^1.2.3",
"video.js": "^7.20.3",
"videojs-contrib-hls": "^5.15.0",
"videojs-flash": "^2.2.1",

这是我下载的版本

1.设置一个播放器

<video-player
      class="video-player vjs-custom-skin v-player"
      ref="videoPlayer"
      :playsinline="true"
      :options="playerOptions"
      @timeupdate="onPlayerTimeupdate($event)"
    ></video-player>

2.导入需要使用到的组件

import "vue-video-player/src/custom-theme.css";
import { videoPlayer } from "vue-video-player";
import "video.js/dist/video-js.css";
import "videojs-contrib-hls";

3.在data中定义配置播放器

data() {
    return {
      playerOptions: {
        playbackRates: [0.5, 1.0, 1.5, 2.0], //可选择的播放速度
        autoplay: false, //如果true,浏览器准备好时开始回放。
        muted: false, // 默认情况下将会消除任何音频。
        loop: false, // 视频一结束就重新开始。
        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
        language: "zh-CN",
        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
        sources: [
          {
            type: "application/x-mpegURL",
            src: "https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8 ", // 本地文件路径或url地址
          },
        ],
        poster: "", //你的封面地址

        // width: document.documentElement.clientWidth,
        height:"500",
        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
        controlBar: {
          timeDivider: true, //当前时间和持续时间的分隔符
          durationDisplay: true, //显示持续时间
          remainingTimeDisplay: false, //是否显示剩余时间功能
          fullscreenToggle: true, //全屏按钮
        },
      },
    };
  },

在导入地址的时候,我用的本地的m3u8文件,但是执行报错,需要把本地的文件挂到服务器上面

4.下面是一些方法

 onPlayerTimeupdate(player) {
      this.gklog = player.cache_.currentTime;//当前播放的秒数
      let a=player.cache_.duration//视频的总时长
      console.log(" onPlayerTimeupdate!", this.gklog);
    },

 类似资料: