在Vue3中使用Video.js

本文展示了如何在Vue应用中集成video.js库来创建一个视频播放器。通过安装video.js和引用其样式文件,然后在组件的`onMounted`和`onUnmounted`钩子中初始化和销毁播放器,实现了视频播放、控制条定制和播放速度选择等功能。

1、安装

npm install --save-dev video.js

2、代码

<script setup>
import { onMounted, onUnmounted, ref } from "vue"
import videojs from "video.js"
import "video.js/dist/video-js.css"

const videoPlayer = ref(null)

const myPlayer = ref(null)

onMounted(() => {
  myPlayer.value = videojs(videoPlayer.value, {
    poster: "//vjs.zencdn.net/v/oceans.png",
    controls: true,
    sources: [
      {
        src: "//vjs.zencdn.net/v/oceans.mp4",
        type: 'video/mp4',
      }
    ],
    controlBar: {
      remainingTimeDisplay: {
        displayNegative: false
      }
    },
    playbackRates: [0.5, 1, 1.5, 2]
  }, () => {
    myPlayer.value.log("play.....")
  })
})

onUnmounted(() => {
  if (myPlayer.value) {
    myPlayer.value.dispose()
  }
})


</script>

<template>
  <div>
    <video ref="videoPlayer" class="video-js" style="margin: auto auto"></video>
  </div>
</template>

3、Video.js官网提供代码

链接

Vue 3使用video.js可按以下步骤操作: ### 安装依赖 安装video.js,命令如下: ```bash npm install --save-dev video.js ``` ### 代码实现 在组件中使用video.js,示例代码如下: ```vue <template> <div> <video ref="videoPlayer" class="video-js" style="margin: auto auto"></video> </div> </template> <script setup> import { onMounted, onUnmounted, ref } from "vue"; import videojs from "video.js"; import "video.js/dist/video-js.css"; const videoPlayer = ref(null); const myPlayer = ref(null); onMounted(() => { myPlayer.value = videojs(videoPlayer.value, { poster: "//vjs.zencdn.net/v/oceans.png", controls: true, sources: [ { src: "//vjs.zencdn.net/v/oceans.mp4", type: &#39;video/mp4&#39;, }, ], controlBar: { remainingTimeDisplay: { displayNegative: false } }, playbackRates: [0.5, 1, 1.5, 2] }, () => { myPlayer.value.log("play....."); }); }); onUnmounted(() => { if (myPlayer.value) { myPlayer.value.dispose(); } }); </script> ``` 也可以在`main.js`中引入,代码如下: ```javascript import VueVideoPlayer from "@videojs-player/vue"; import "video.js/dist/video-js.css"; import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; const app = createApp(App); app.use(VueVideoPlayer); app.mount(&#39;#app&#39;); ``` ### 全局引入汉化语言包 在`main.js`中可以引入汉化的中文提示和英文语言包,示例如下: ```javascript import Video from &#39;video.js&#39;; import &#39;video.js/dist/video-js.css&#39;; import video_zhCN from &#39;video.js/dist/lang/zh-CN.json&#39;; import video_en from &#39;video.js/dist/lang/en.json&#39;; Video.addLanguage(&#39;zh-CN&#39;, video_zhCN); Video.addLanguage(&#39;en&#39;, video_en); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值