Vue3+Ts+video.js:实现自定义视频播放

目录

前言


前言

        video.js是一款通用的视频播放工具,相较于直接使用video标签,video.js不存在兼容性问题,同时还有这强大的插件库使自定义播放器成为可能,本文主要简单介绍如何使用video.js,以及常用的基本配置。


如何使用

下载依赖

npm install video.js

简单的使用

<script lang="ts" setup>
import mp4Url from '@/assets/video/test.mp4';
import Videojs from 'video.js';
import 'video.js/dist/video-js.min.css';
const videoRef = ref(null);
const videoInstance = shallowRef(); //提高性能
const potions = {
  sources: [
    // 两种播放格式
    {
      type: 'video/mp4',
      src: mp4Url,
    },
    // {
    //   src: 'https://gcalic.v.myalicdn.com/gc/jsh02_1/index.m3u8?contentid=2820180516001',
    //   type: 'application/x-mpegURL',
    // },
  ],
  autoplay: true, //是否自动播放
  loop: false, //是否循环播放
  controls: true, //控制器
  preload: true, //是否预加载
  language: 'zh-CN', //显示的语言 中文
  playbackRates: [0.5, 1, 1.5, 2], //播放速度
  poster: '', //封面图
};
/**
 * 初始化video
 */
const initVideo = () => {
  if (!videoRef.value) return;
  // Videojs第一个参数可以使video标签的id或者目标标签元素,第二个参数为配置项。
  videoInstance.value = Videojs(videoRef.value, potions);
};
onMounted(() => {
  initVideo();
});
</script>
<template>
  <video ref="videoRef" class="video-js" style="width: 600px; height: 400px"></video>
</template>
<style lang="scss" scoped></style>

效果:

拓展

细心的码友应该发现了,控制台显示的英文。我们明明配置了语言,为什么还是显示的英文。

官网解释是这样的:

那么为了更好的满足需求,我们就需要用到官方videojs中提供的API进行相关的修改。

addLanguage添加语言,它需要两个参数标准语言代码和一个语言定义对象

dispose

​​​​​​​唯一的支持从DOM和内存中删除Video.js播放器的方法

poster

修改封面图
ready视频资源初始化回调
reset重置当前视频资源

官方参考地址:
 videojs官网:https://videojs.com/
 videojs指导:Video.js Guides | Video.js
 videojs的API文档:Video.js API docs

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DT_scorcher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值