欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

1、支持快捷鍵操作
2、支持倍速播放設置
3、支持鏡像畫面設置
4、支持關燈模式設置
5、支持畫中畫模式播放
6、支持全屏/網(wǎng)頁全屏播放
7、支持從固定時間開始播放
8、支持移動端,移動端會自動調(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, '時間更新')
}
const onCanplay = (ev) => {
  console.log(ev, '可以播放')
}
</script>

<style scoped>
</style>

(2)Hls m3u8視頻/直播

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

<template>
  <div>
      <vue3VideoPlay 
      width="800px"
      title="冰河世紀"
      :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屬性使用一致

名稱說明類型可選值默認值
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是否支持快進快退boolean-true
currentTime跳轉(zhuǎn)到固定播放時間(s)number-0
playsinlineios點擊屏幕是否全屏boolean-false
muted靜音boolean-false
speedRate倍速配置array-["2.0", "1.0", "1.5", "1.25", "0.75", "0.5"]
autoPlay自動播放boolean-false,為true時會自動靜音
loop循環(huán)播放boolean-false
mirror鏡像畫面boolean-false
ligthOff關燈模式boolean-false
volume默認音量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預加載stringmeta/auto/noneauto

props屬性 controlBtns 按鈕說明

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

Events

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

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

快捷鍵說明

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

附:HTML5的Video標簽的屬性,方法和事件匯總

<video>標簽的屬性
src :視頻的屬性
poster:視頻封面,沒有播放時顯示的圖片
preload:預加載
autoplay:自動播放
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)絡錯誤 3.解碼錯誤 4.URL無效
//網(wǎng)絡狀態(tài) 
- Media.currentSrc; //返回當前資源的URL
- Media.src = value; //返回或設置當前資源的URL
- Media.canPlayType(type); //是否能播放某種格式的資源
- Media.networkState; //0.此元素未初始化 1.正常但沒有使用網(wǎng)絡 2.正在下載數(shù)據(jù) 3.沒有找到資源
- Media.load(); //重新加載src指定的資源
- Media.buffered; //返回已緩沖區(qū)域,TimeRanges
- Media.preload; //none:不預載 metadata:預載資源信息 auto:

//準備狀態(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; //當前播放的位置,賦值可改變位置
Media.startTime; //一般為0,如果為流媒體或者不從0開始的資源,則不為0
Media.duration; //當前資源長度 流返回無限
Media.paused; //是否暫停
Media.defaultPlaybackRate = value;//默認的回放速度,可以設置
Media.playbackRate = value;//當前播放速度,設置后馬上改變
Media.played; //返回已經(jīng)播放的區(qū)域,TimeRanges,關于此對象見下文
Media.seekable; //返回可以seek的區(qū)域 TimeRanges
Media.ended; //是否結束
Media.autoPlay; //是否自動播放
Media.loop; //是否循環(huán)播放
Media.play(); //播放
Media.pause(); //暫停
//視頻控制

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

  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"); //客戶端主動終止下載(不是因為錯誤引起)
eventTester("loadstart"); //客戶端開始請求數(shù)據(jù)
eventTester("progress"); //客戶端正在請求數(shù)據(jù)
eventTester("suspend"); //延遲下載
eventTester("abort"); //客戶端主動終止下載(不是因為錯誤引起),
eventTester("error"); //請求數(shù)據(jù)時遇到錯誤
eventTester("stalled"); //網(wǎng)速失速
eventTester("play"); //play()和autoplay開始播放時觸發(fā)
eventTester("pause"); //pause()觸發(fā)
eventTester("loadedmetadata"); //成功獲取資源長度
eventTester("loadeddata"); //
eventTester("waiting"); //等待數(shù)據(jù),并非錯誤
eventTester("playing"); //開始回放
eventTester("canplay"); //可以播放,但中途可能因為加載而暫停
eventTester("canplaythrough"); //可以播放,歌曲全部加載完畢
eventTester("seeking"); //尋找中
eventTester("seeked"); //尋找完畢
eventTester("timeupdate"); //播放時間改變
eventTester("ended"); //播放結束
eventTester("ratechange"); //播放速率改變
eventTester("durationchange"); //資源長度改變
eventTester("volumechange"); //音量改變

總結 

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

相關文章

  • vue中的get方法\post方法如何實現(xiàn)傳遞數(shù)組參數(shù)

    vue中的get方法\post方法如何實現(xiàn)傳遞數(shù)組參數(shù)

    這篇文章主要介紹了vue中的get方法\post方法如何實現(xiàn)傳遞數(shù)組參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 計算屬性和偵聽器詳情

    計算屬性和偵聽器詳情

    這篇文章主要介紹了計算屬性和偵聽器,文章以介紹計算屬性、偵聽器的相關資料展開詳細內(nèi)容,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • vue2使用?element表格展開功能渲染子表格的方式

    vue2使用?element表格展開功能渲染子表格的方式

    這篇文章主要介紹了vue2使用?element表格展開功能渲染子表格的方式,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Vue3+Element?Plus按需引入(自動導入)詳解

    Vue3+Element?Plus按需引入(自動導入)詳解

    element-plus根據(jù)官網(wǎng)文檔,推薦用戶采用按需導入的方式進行導入,下面這篇文章主要給大家介紹了關于Vue3+Element?Plus按需引入(自動導入)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • 詳談Vue.js框架下main.js,App.vue,page/index.vue之間的區(qū)別

    詳談Vue.js框架下main.js,App.vue,page/index.vue之間的區(qū)別

    這篇文章主要介紹了詳談Vue.js框架下main.js,App.vue,page/index.vue之間的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue-cli 引入、配置axios的方法

    vue-cli 引入、配置axios的方法

    這篇文章主要介紹了vue-cli 引入axios的方法,文中還給大家提到了vue-cli 配置axios的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • Vue.js實現(xiàn)輸入框綁定的實例代碼

    Vue.js實現(xiàn)輸入框綁定的實例代碼

    這篇文章主要介紹了Vue.js實現(xiàn)輸入框綁定的實例代碼,需要的朋友可以參考下
    2017-08-08
  • ant-design-vue按需加載的坑的解決

    ant-design-vue按需加載的坑的解決

    這篇文章主要介紹了ant-design-vue按需加載的坑的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • vue項目打包后放服務器非根目錄下圖片找不到問題

    vue項目打包后放服務器非根目錄下圖片找不到問題

    這篇文章主要介紹了vue項目打包后放服務器非根目錄下圖片找不到問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Vue Computed底層原理深入探究

    Vue Computed底層原理深入探究

    computed是vue的配置選項,它的值是一個對象,其中可定義多個計算屬性,每個計算屬性就是一個函數(shù),下面這篇文章主要給大家介紹了關于vue中計算屬性computed的詳細講解,需要的朋友可以參考下
    2022-08-08

最新評論