亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue+video.js視頻播放、視頻切換、視頻斷點分段上傳功能

 更新時間:2022年12月01日 10:56:54   作者:ws_code_csdn  
本次需求是做一個視頻列表,點擊視頻列表播放對應(yīng)視頻;同時要求實現(xiàn)斷點分段上傳大文件(視頻)的功能,今天通過本文給大家講解下vue+video.js視頻播放、視頻切換、視頻斷點分段上傳功能,感興趣的朋友一起看看吧

“本次需求是做一個視頻列表,點擊視頻列表播放對應(yīng)視頻;同時要求實現(xiàn)斷點分段上傳大文件(視頻)的功能 。

videojs文檔:Getting Started with Video.js - Video.js: The Player Framework | Video.js

斷點續(xù)傳組件地址:GitHub - gaoyuyue/MyUploader: 單文件上傳,多文件上傳,大文件上傳,斷點續(xù)傳,文件秒傳,圖片上傳

整體界面大致如下:

1. 安裝依賴

npm i -S video.js

2.入口文件引入js和樣式文件

// main.js (入口文件中引入js和樣式文件)
import videojs from 'video.js'
import 'video.js/dist/video-js.css'
 
// 如果需要可以注冊為vue全局方法
Vue.prototype.$video = videojs;

3.開始封裝video組件

<!-- 視頻播放組件 -->
 
<template>
    <video
    ref="videoPlayer"
    class="video-js"
    >
 
    </video>
</template>
<script>
export default {
    name: 'VideoPlayer',
    props: {
        // 視頻播放地址
        url: {
            type: String,
        }
    },
    data () {
        return {
            // 視頻實例
            player: null,
        }
    },
    methods: {
        // 改變視頻播放地址
        changeVideoSrc (src) {
            this.player.src([{
                src,
                type: 'video/mp4'
            }])
        },
    },
    mountd () {
        // 初始化視頻
        // this.$video 就是 videojs, 文件入口內(nèi)已經(jīng)全局注冊了
        this.player = this.$video(this.$refs.videoPlayer, {
            language: 'zh-CN', // 中文
            responsive: true,
            autoplay: false,
            preload: 'auto',
            playbackRates: [1, 1.5, 2],
            sources: [{
                src: this.url,
                type: 'video/mp4'
            }]
        }, () => {
            this.player.log('ready', this)
        })
    },
    beforeDestory () {
        this.player && this.player.dispose();
    },
    
}
</script>

4.測試視頻組件是否正常

// 父組件中引入視頻組件
 
<VideoPlayer :url="url">
 
// 這里可以寫個固定的地址測試一下視頻組件能否播放
// 注意:不能是本地視頻。比如是服務(wù)器上的視頻才可以播放。

失敗信息】-- 通常就是code為4.  大概意思就是因為視頻格式和網(wǎng)絡(luò)原因不能播放。這有幾個原因:

1.視頻格式不正確。 要求是type是MP4,而請求播放的視頻不是MP4格式。

2.網(wǎng)絡(luò)不同或者跨域。這種錯誤很常見且隱秘。需要看看播放地址是否能正常訪問,或者該視頻地址是不是存在跨域(corss origin)。跨域就用代理,很好解決,不在追敘。

【漢化失敗】

明明設(shè)置了language為中文,但是結(jié)果還是英文。這里有個問題,videojs不會自動引入語言包,需要我們自行引入中文語言包。找到語言包,單獨拿出來,放在src目錄下,在入口文件中引入即可。

方法:node_moudles下找打videojs.dist/lang/zh-cn.js,如下圖,

找到zh-cn.js,單獨復(fù)制出來,放進src的js文件夾下。

當(dāng)然,這時候還要再這個js文件中引入video.js,

然后在入口文件引入這個語言包即可漢化成功。

5.視頻列表切換視頻播放

// 視頻列表代碼比較簡單不再寫了  直接寫切換方法
 
// 比如在父組件中  
<VideoPlayer ref="players" />
 
<!-- 視頻切換列表 -->
 
<li
v-for="video in videos"
:key="video.id"
@click="changeVideoSource(video)"
>{{ 視頻名稱 }}</li>
 
 
// 視頻切換方法
changeVideoSource (video) {
    this.$refs.players.changeVideoSrc(video.src);
},

至此,完成視頻切換播放功能。

6.斷點續(xù)傳的插件

使用了下邊這個斷點續(xù)傳的插件

GitHub - gaoyuyue/MyUploader: 單文件上傳,多文件上傳,大文件上傳,斷點續(xù)傳,文件秒傳,圖片上傳

首先,我們需要自行安裝plupload。因為上邊組件基于此組件封裝的。

npm i -S plupload

然后,引入上邊github項目中的如下幾個文件:

這四個文件引入自己項目中去即可。

上傳地址】 

 url就是上傳地址。

上傳參數(shù)

 可以在這里定義上傳所需參數(shù),

up.setOption("multipart_params", {
            
            "size":file.size,
            "md5":file.md5,
            filename: 'hahaha',
            id: '123456',
            // .......
        });

至此,視頻播放與視頻上傳基本完成。要多看文檔,多實踐。

到此這篇關(guān)于vue+videojs視頻播放、視頻切換、視頻斷點分段上傳的文章就介紹到這了,更多相關(guān)vue videojs視頻播放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue中定義src在img標(biāo)簽使用時加載不出來的解決

    Vue中定義src在img標(biāo)簽使用時加載不出來的解決

    這篇文章主要介紹了Vue中定義src在img標(biāo)簽使用時加載不出來的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue?cli及Vue?router實例詳解

    Vue?cli及Vue?router實例詳解

    vue-cli是vue官方出品的快速構(gòu)建單頁應(yīng)用的腳手架,里面集成了webpack,npm,nodejs,babel,vue,vue-router,這篇文章主要介紹了Vue?cli及Vue?router詳解,需要的朋友可以參考下
    2022-08-08
  • vue 判斷頁面是首次進入還是再次刷新的實例

    vue 判斷頁面是首次進入還是再次刷新的實例

    這篇文章主要介紹了vue 判斷頁面是首次進入還是再次刷新的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用Bootstrap + Vue.js實現(xiàn)添加刪除數(shù)據(jù)示例

    使用Bootstrap + Vue.js實現(xiàn)添加刪除數(shù)據(jù)示例

    本篇文章主要介紹了使用Bootstrap + Vue.js實現(xiàn) 添加刪除數(shù)據(jù)示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • vue3 vite pinia配置動態(tài)路由、解決刷新頁面路由消失的問題

    vue3 vite pinia配置動態(tài)路由、解決刷新頁面路由消失的問題

    這篇文章主要介紹了vue3 vite pinia配置動態(tài)路由、解決刷新頁面路由消失的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue-cli history模式實現(xiàn)tomcat部署報404的解決方式

    vue-cli history模式實現(xiàn)tomcat部署報404的解決方式

    這篇文章主要介紹了vue-cli history模式實現(xiàn)tomcat部署報404的解決方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 詳解如何在vue項目中使用layui框架及采坑

    詳解如何在vue項目中使用layui框架及采坑

    這篇文章主要介紹了vue使用layui框架,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 解決v-if 與 v-for 同時使用報錯的問題

    解決v-if 與 v-for 同時使用報錯的問題

    在進行項目開發(fā)的時候因為在一個標(biāo)簽上同時使用了v-for和v-if兩個指令導(dǎo)致的報錯,遇到這個問題如何解決呢?下面小編給大家?guī)砹岁P(guān)于v-if 與 v-for 使用報錯問題分析及解決方法,一起看看吧
    2022-03-03
  • Vue.js組件tree實現(xiàn)無限級樹形菜單

    Vue.js組件tree實現(xiàn)無限級樹形菜單

    這篇文章主要為大家詳細介紹了Vue.js組件tree實現(xiàn)無限級樹形菜單代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 詳解Vue-axios 設(shè)置請求頭問題

    詳解Vue-axios 設(shè)置請求頭問題

    這篇文章主要介紹了Vue-axios 設(shè)置請求頭問題,文中給大家提到了axios設(shè)置請求頭內(nèi)容的方法,需要的朋友可以參考下
    2018-12-12

最新評論