最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3視頻播放器組件Vue3-video-play新手入門教程

 更新時(shí)間:2023年12月08日 09:52:41   作者:Roc-xb  
這篇文章主要給大家介紹了關(guān)于Vue3視頻播放器組件Vue3-video-play新手入門教程的相關(guān)資料,本文實(shí)例為大家分享了vue-video-player視頻播放器的使用配置,供大家參考,需要的朋友可以參考下

Vue3-video-play適用于 Vue3 的 hls.js 播放器組件 | 并且支持MP4/WebM/Ogg格式。

1、支持快捷鍵操作
2、支持倍速播放設(shè)置
3、支持鏡像畫面設(shè)置
4、支持關(guān)燈模式設(shè)置
5、支持畫中畫模式播放
6、支持全屏/網(wǎng)頁全屏播放
7、支持從固定時(shí)間開始播放
8、支持移動(dòng)端,移動(dòng)端會(huì)自動(dòng)調(diào)用自帶視頻播放器
9、支持hls視頻流播放,支持直播

10、hls播放支持清晰度切換

1、安裝方式

(1)npm安裝方式

npm i vue3-video-play --save

 (2)yarn安裝方式

yarn add vue3-video-play --save

2、使用方式

(1)局部使用

// require style
import 'vue3-video-play/dist/style.css'
import { videoPlay } from 'vue-video-play'
export default {
  components: {
    videoPlay
  }
}

(2)全局使用

import { createApp } from 'vue'
import App from './App.vue'
let app = createApp(App)

import vue3videoPlay from 'vue3-video-play' // 引入組件
import 'vue3-video-play/dist/style.css' // 引入css
app.use(vue3videoPlay)

app.mount('#app')

3、示例代碼

(1)事件示例

vue3-video-play 支持原生video所有事件。

<template>
  <div>
      <vue3VideoPlay 
      width="800px"
      title="鋼鐵俠"
      :src="options.src"
      :poster="options.poster"
      @play="onPlay"
      @pause="onPause" 
      @timeupdate="onTimeupdate" 
      @canplay="onCanplay" />
  </div>

</template>


<script setup lang="ts">
import { reactive } from 'vue';

const options = reactive({
  src: "https://cdn.jsdelivr.net/gh/xdlumia/files/video-play/IronMan.mp4", //視頻源
  poster: '', //封面
})
const onPlay = (ev) => {
  console.log('播放')
}
const onPause = (ev) => {
  console.log(ev, '暫停')
}

const onTimeupdate = (ev) => {
  console.log(ev, '時(shí)間更新')
}
const onCanplay = (ev) => {
  console.log(ev, '可以播放')
}
</script>

<style scoped>
</style>

(2)Hls m3u8視頻/直播

vue3-video-play 支持m3u8(hls)播放

<template>
  <div>
      <vue3VideoPlay 
      width="800px"
      title="冰河世紀(jì)"
      :src="options.src"
      :type="options.type"
      :autoPlay="false"
       />
  </div>

</template>
<script setup lang="ts">
import { reactive } from 'vue';
const options = reactive({
  src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8", //視頻源
  type: 'm3u8', //視頻類型
})
</script>

<style scoped>
</style>

4、屬性 Props

?vue3-video-play 支持video原生所有Attributes video原生屬性 使用方式和props屬性使用一致

名稱說明類型可選值默認(rèn)值
width播放器寬度string-800px
height播放器高度string-450px
color播放器主色調(diào)string-#409eff
src視頻資源string--
title視頻名稱string--
type視頻類型string-video/mp4
poster視頻封面string-視頻第一幀
webFullScreen網(wǎng)頁全屏boolean-false
speed是否支持快進(jìn)快退boolean-true
currentTime跳轉(zhuǎn)到固定播放時(shí)間(s)number-0
playsinlineios點(diǎn)擊屏幕是否全屏boolean-false
muted靜音boolean-false
speedRate倍速配置array-["2.0", "1.0", "1.5", "1.25", "0.75", "0.5"]
autoPlay自動(dòng)播放boolean-false,為true時(shí)會(huì)自動(dòng)靜音
loop循環(huán)播放boolean-false
mirror鏡像畫面boolean-false
ligthOff關(guān)燈模式boolean-false
volume默認(rèn)音量number0-10.3
control是否顯示控制器boolean-true
controlBtns控制器顯示的按鈕array['audioTrack', 'quality', 'speedRate', 'volume', 'setting', 'pip', 'pageFullScreen', 'fullScreen']['audioTrack', 'quality', 'speedRate', 'volume', 'setting', 'pip', 'pageFullScreen', 'fullScreen']
preload預(yù)加載stringmeta/auto/noneauto

props屬性 controlBtns 按鈕說明

名稱說明
audioTrack音軌切換按鈕
quality視頻質(zhì)量切換按鈕
speedRate速率切換按鈕
volume音量
setting設(shè)置
pip畫中畫按鈕
pageFullScreen網(wǎng)頁全屏按鈕
fullScreen全屏按鈕

Events

vue3-video-play支持video原生所有事件 video默認(rèn)事件(見文末)

事件名稱說明回調(diào)
mirrorChange鏡像翻轉(zhuǎn)事件val
loopChange循環(huán)播放開關(guān)事件val
lightOffChange關(guān)燈模式事件val
loadstart客戶端開始請求數(shù)據(jù)event
progress客戶端正在請求數(shù)據(jù)event
error請求數(shù)據(jù)時(shí)遇到錯(cuò)誤event
stalled網(wǎng)速失速event
play開始播放時(shí)觸發(fā)event
pause暫停時(shí)觸發(fā)event
loadedmetadata成功獲取資源長度event
loadeddata緩沖中event
waiting等待數(shù)據(jù),并非錯(cuò)誤event
playing開始回放event
canplay暫停狀態(tài)下可以播放event
canplaythrough可以持續(xù)播放event
timeupdate更新播放時(shí)間event
ended播放結(jié)束event
ratechange播放速率改變event
durationchange資源長度改變event
volumechange音量改變event

快捷鍵說明

鍵名說明
Space暫停/播放
方向右鍵 →單次快進(jìn) 10s,長按 5 倍速播放
方向左鍵 ←快退 10s
方向上鍵 ↑音量+10%
方向下鍵 ↓音量-10%
Esc退出全屏/退出網(wǎng)頁全屏
F全屏/退出全屏

附:HTML5的Video標(biāo)簽的屬性,方法和事件匯總

<video>標(biāo)簽的屬性
src :視頻的屬性
poster:視頻封面,沒有播放時(shí)顯示的圖片
preload:預(yù)加載
autoplay:自動(dòng)播放
loop:循環(huán)播放
controls:瀏覽器自帶的控制條
width:視頻寬度
height:視頻高度
html 代碼

  <video id="media" src="http://www.sundxs.com/test.mp4" controls width="400px" heigt="400px"></video>  
  //audio和video都可以通過JS獲取對象,JS通過id獲取video和audio的對象
獲取video對象

  Media = document.getElementById("media"); 
Media方法和屬性:
HTMLVideoElement和HTMLAudioElement 均繼承自HTMLMediaElement
Media.error; //null:正常
Media.error.code; //1.用戶終止 2.網(wǎng)絡(luò)錯(cuò)誤 3.解碼錯(cuò)誤 4.URL無效
//網(wǎng)絡(luò)狀態(tài) 
- Media.currentSrc; //返回當(dāng)前資源的URL
- Media.src = value; //返回或設(shè)置當(dāng)前資源的URL
- Media.canPlayType(type); //是否能播放某種格式的資源
- Media.networkState; //0.此元素未初始化 1.正常但沒有使用網(wǎng)絡(luò) 2.正在下載數(shù)據(jù) 3.沒有找到資源
- Media.load(); //重新加載src指定的資源
- Media.buffered; //返回已緩沖區(qū)域,TimeRanges
- Media.preload; //none:不預(yù)載 metadata:預(yù)載資源信息 auto:

//準(zhǔn)備狀態(tài) 
- Media.readyState;//1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA
- Media.seeking; //是否正在seeking

//回放狀態(tài)

Media.currentTime = value; //當(dāng)前播放的位置,賦值可改變位置
Media.startTime; //一般為0,如果為流媒體或者不從0開始的資源,則不為0
Media.duration; //當(dāng)前資源長度 流返回?zé)o限
Media.paused; //是否暫停
Media.defaultPlaybackRate = value;//默認(rèn)的回放速度,可以設(shè)置
Media.playbackRate = value;//當(dāng)前播放速度,設(shè)置后馬上改變
Media.played; //返回已經(jīng)播放的區(qū)域,TimeRanges,關(guān)于此對象見下文
Media.seekable; //返回可以seek的區(qū)域 TimeRanges
Media.ended; //是否結(jié)束
Media.autoPlay; //是否自動(dòng)播放
Media.loop; //是否循環(huán)播放
Media.play(); //播放
Media.pause(); //暫停
//視頻控制

Media.controls;//是否有默認(rèn)控制條
Media.volume = value; //音量
Media.muted = value; //靜音
TimeRanges(區(qū)域)對象
TimeRanges.length; //區(qū)域段數(shù)
TimeRanges.start(index) //第index段區(qū)域的開始位置
TimeRanges.end(index) //第index段區(qū)域的結(jié)束位置
//相關(guān)事件

  var eventTester = function(e){
     Media.addEventListener(e,function(){
         console.log((new Date()).getTime(),e)
     },false);
 }
eventTester("loadstart"); //客戶端開始請求數(shù)據(jù)
eventTester("progress"); //客戶端正在請求數(shù)據(jù)
eventTester("suspend"); //延遲下載
eventTester("abort"); //客戶端主動(dòng)終止下載(不是因?yàn)殄e(cuò)誤引起)
eventTester("loadstart"); //客戶端開始請求數(shù)據(jù)
eventTester("progress"); //客戶端正在請求數(shù)據(jù)
eventTester("suspend"); //延遲下載
eventTester("abort"); //客戶端主動(dòng)終止下載(不是因?yàn)殄e(cuò)誤引起),
eventTester("error"); //請求數(shù)據(jù)時(shí)遇到錯(cuò)誤
eventTester("stalled"); //網(wǎng)速失速
eventTester("play"); //play()和autoplay開始播放時(shí)觸發(fā)
eventTester("pause"); //pause()觸發(fā)
eventTester("loadedmetadata"); //成功獲取資源長度
eventTester("loadeddata"); //
eventTester("waiting"); //等待數(shù)據(jù),并非錯(cuò)誤
eventTester("playing"); //開始回放
eventTester("canplay"); //可以播放,但中途可能因?yàn)榧虞d而暫停
eventTester("canplaythrough"); //可以播放,歌曲全部加載完畢
eventTester("seeking"); //尋找中
eventTester("seeked"); //尋找完畢
eventTester("timeupdate"); //播放時(shí)間改變
eventTester("ended"); //播放結(jié)束
eventTester("ratechange"); //播放速率改變
eventTester("durationchange"); //資源長度改變
eventTester("volumechange"); //音量改變

總結(jié) 

到此這篇關(guān)于Vue3視頻播放器組件Vue3-video-play新手入門的文章就介紹到這了,更多相關(guān)視頻播放器組件Vue3-video-play內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3中v-model的用法詳解

    vue3中v-model的用法詳解

    vue 提供了很多自定義指令,大大方便了我們的開發(fā),其中最常用的也就是 v-model,他可以在組件上使用以實(shí)現(xiàn)雙向綁定。它可以綁定多種數(shù)據(jù)結(jié)構(gòu), 今天總結(jié)一下用法
    2023-04-04
  • vue項(xiàng)目中引入Sass實(shí)例方法

    vue項(xiàng)目中引入Sass實(shí)例方法

    在本文里小編給大家整理的是關(guān)于vue項(xiàng)目中引入Sass的相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們可以測試參考下。
    2019-08-08
  • Vue實(shí)現(xiàn)簡單選項(xiàng)卡效果

    Vue實(shí)現(xiàn)簡單選項(xiàng)卡效果

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡單選項(xiàng)卡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • mpvue開發(fā)音頻類小程序踩坑和建議詳解

    mpvue開發(fā)音頻類小程序踩坑和建議詳解

    這篇文章主要介紹了mpvue開發(fā)音頻類小程序踩坑和建議詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • 如何讓vue長列表快速加載

    如何讓vue長列表快速加載

    這篇文章主要介紹了如何讓vue長列表快速加載,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-03-03
  • Vue項(xiàng)目返回頁面保持上次滾動(dòng)狀態(tài)方式

    Vue項(xiàng)目返回頁面保持上次滾動(dòng)狀態(tài)方式

    這篇文章主要介紹了Vue項(xiàng)目返回頁面保持上次滾動(dòng)狀態(tài)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vue+element+oss實(shí)現(xiàn)前端分片上傳和斷點(diǎn)續(xù)傳

    vue+element+oss實(shí)現(xiàn)前端分片上傳和斷點(diǎn)續(xù)傳

    這篇文章主要介紹了vue+element+oss實(shí)現(xiàn)前端分片上傳和斷點(diǎn)續(xù)傳,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • vuex 中插件的編寫案例解析

    vuex 中插件的編寫案例解析

    Vuex 的 store 接受 plugins 選項(xiàng),這個(gè)選項(xiàng)暴露出每次 mutation 的鉤子。Vuex 插件就是一個(gè)函數(shù),這篇文章主要介紹了vuex 中插件的編寫案例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Vue3+ElementPlus封裝圖片空間組件的門面實(shí)例

    Vue3+ElementPlus封裝圖片空間組件的門面實(shí)例

    圖片空間是用于管理上傳圖片的工具,可以讓用戶方便地存儲、管理和調(diào)用圖片,提高工作效率,它通常具備多樣的樣式,但操作入口統(tǒng)一,便于使用,通過圖片空間組件,用戶能直接在其他模塊(例如商品圖片)中選擇所需圖片
    2024-09-09
  • Vue中的reactive函數(shù)操作代碼

    Vue中的reactive函數(shù)操作代碼

    這篇文章主要介紹了Vue中的reactive函數(shù),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評論

大姚县| 慈溪市| 武城县| 南丹县| 桂平市| 乌兰察布市| 吉隆县| 清远市| 长治县| 班戈县| 乡城县| 济南市| 沽源县| 博罗县| 宁波市| 大荔县| 贵溪市| 铁岭县| 柘城县| 凤庆县| 苏尼特右旗| 观塘区| 浦城县| 剑阁县| 时尚| 河源市| 弥渡县| 和平区| 白城市| 湘乡市| 金阳县| 日土县| 迁西县| 沙河市| 莎车县| 同心县| 林芝县| 文山县| 棋牌| 镇坪县| 平乡县|