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

vue3使用flv.js播放flv直播流的代碼示例

 更新時(shí)間:2025年05月12日 08:30:44   作者:一方_self  
這篇文章主要介紹了vue3使用flv.js播放flv直播流的相關(guān)資料,詳細(xì)描述了安裝flv.js和編寫HTML、JavaScript代碼的過程,包括在頁(yè)面關(guān)閉時(shí)銷毀播放器的操作,需要的朋友可以參考下

目前有個(gè)需求是:管理直播機(jī)有一個(gè)列表需要查看每個(gè)直播機(jī)的實(shí)時(shí)內(nèi)容,所以需要在后臺(tái)加這個(gè)功能。

效果:我用ffmpeg模擬推流:

如何用ffmpeg模擬推流請(qǐng)看我上一篇文章

網(wǎng)頁(yè):

如上是可以正確再網(wǎng)頁(yè)端拉流,這個(gè)功能費(fèi)了一天的時(shí)間,在這里免費(fèi)分享出來。

首先安裝flv.js(用npm的話我遇到過報(bào)錯(cuò)):

pnpm i flv.js

頁(yè)面核心代碼:

html:

<video ref="videoElementRef" controls autoplay muted
                  style="width: 400px; height: 300px; object-fit: fill"></video>

js:

import { computed, ref, nextTick, watch } from 'vue';
const formValue = ref(newState(null));
const flvPlayer = ref<flvjs.Player | null>(null);
const videoElementRef = ref<HTMLVideoElement | null>(null);  // 明確類型
const createVideo = async () => {
  if (flvjs.isSupported()) {
    if (!videoElementRef.value) {
      console.warn('videoElementRef.value is null, retrying...');
      return; // 如果 video 元素還未準(zhǔn)備好,則直接返回
    }
    console.log('videoElement', videoElementRef.value);
    flvPlayer.value = flvjs.createPlayer({
      type: 'flv', // 只支持flv和mp4
      url: 'http://live.xxx.com/xxx/2.flv', //你的url地址
      isLive: true,
      hasAudio: true,
    });
    console.log('flvPlayer.value', flvPlayer.value);
    flvPlayer.value.attachMediaElement(videoElementRef.value);
    flvPlayer.value.load();
    flvPlayer.value.play();
    //處理視頻播放錯(cuò)誤的語法
    flvPlayer.value.on('error', () => {
      message.error(`視頻加載失敗,請(qǐng)稍候重試!`);
      return false;
    });
  }
};
// 監(jiān)聽 formValue 的變化,當(dāng)數(shù)據(jù)加載完成后初始化視頻
watch(
  () => formValue.value,
  (newFormValue) => {
    if (newFormValue && showModal.value) {
      nextTick(() => {
        createVideo();
      });
    }
  },
  { deep: true, immediate: false } // 深度監(jiān)聽,并且初始不執(zhí)行
);
?

頁(yè)面關(guān)閉時(shí)銷毀flvPlayer:

//銷毀播放器

  if (flvPlayer.value) {
    flvPlayer.value.pause();
    flvPlayer.value.unload();
    flvPlayer.value.detachMediaElement();
    flvPlayer.value.destroy();
    flvPlayer.value = null;
  }

總結(jié) 

到此這篇關(guān)于vue3使用flv.js播放flv直播流的文章就介紹到這了,更多相關(guān)vue3 flv.js播放flv直播流內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在vue項(xiàng)目中 實(shí)現(xiàn)定義全局變量 全局函數(shù)操作

    在vue項(xiàng)目中 實(shí)現(xiàn)定義全局變量 全局函數(shù)操作

    這篇文章主要介紹了在vue項(xiàng)目中 實(shí)現(xiàn)定義全局變量 全局函數(shù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • vue elementui 動(dòng)態(tài)追加下拉框、輸入框功能

    vue elementui 動(dòng)態(tài)追加下拉框、輸入框功能

    這篇文章主要介紹了vue elementui 動(dòng)態(tài)追加下拉框、輸入框功能,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-04-04
  • element?table數(shù)據(jù)量太大導(dǎo)致網(wǎng)頁(yè)卡死崩潰的解決辦法

    element?table數(shù)據(jù)量太大導(dǎo)致網(wǎng)頁(yè)卡死崩潰的解決辦法

    當(dāng)頁(yè)面數(shù)據(jù)過多,前端渲染大量的DOM時(shí),會(huì)造成頁(yè)面卡死問題,下面這篇文章主要給大家介紹了關(guān)于element?table數(shù)據(jù)量太大導(dǎo)致網(wǎng)頁(yè)卡死崩潰的解決辦法,需要的朋友可以參考下
    2023-02-02
  • Vue淺析axios二次封裝與節(jié)流及防抖的實(shí)現(xiàn)

    Vue淺析axios二次封裝與節(jié)流及防抖的實(shí)現(xiàn)

    axios是基于promise的HTTP庫(kù),可以使用在瀏覽器和node.js中,它不是vue的第三方插件,vue-axios是axios集成到Vue.js的小包裝器,可以像插件一樣安裝使用:Vue.use(VueAxios,?axios),本文給大家介紹axios的二次封裝和節(jié)流與防抖
    2022-08-08
  • vue組件props不同數(shù)據(jù)類型傳參的默認(rèn)值問題

    vue組件props不同數(shù)據(jù)類型傳參的默認(rèn)值問題

    這篇文章主要介紹了vue組件props不同數(shù)據(jù)類型傳參的默認(rèn)值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue2.0 如何在hash模式下實(shí)現(xiàn)微信分享

    vue2.0 如何在hash模式下實(shí)現(xiàn)微信分享

    這篇文章主要介紹了vue2.0 如何在hash模式下實(shí)現(xiàn)微信分享,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • vue中定時(shí)器setInterval的使用及說明

    vue中定時(shí)器setInterval的使用及說明

    這篇文章主要介紹了vue中定時(shí)器setInterval的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue指令之v-for的使用說明

    Vue指令之v-for的使用說明

    這篇文章主要介紹了Vue指令之v-for的使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue和Flask通信的實(shí)現(xiàn)

    Vue和Flask通信的實(shí)現(xiàn)

    最近新做了個(gè)項(xiàng)目,前端使用的是目前很流行的前端框架,對(duì)于后端,本項(xiàng)目選擇的是比較好上手、輕量級(jí)的python后臺(tái)框架:Flask。感興趣的可以了解一下
    2021-05-05
  • 深入理解Vue響應(yīng)式原理及其實(shí)現(xiàn)方式

    深入理解Vue響應(yīng)式原理及其實(shí)現(xiàn)方式

    Vue的響應(yīng)式原理是Vue最核心的特性之一,也是Vue能夠?yàn)殚_發(fā)者提供高效便捷的開發(fā)體驗(yàn)的重要原因之一,這篇文章主要介紹了響應(yīng)式的原理及其實(shí)現(xiàn)方式,需要詳細(xì)了解可以參考下文
    2023-05-05

最新評(píng)論

黑山县| 齐河县| 丽水市| 句容市| 津南区| 马关县| 霸州市| 洛川县| 米林县| 五莲县| 凌海市| 延安市| 镇安县| 友谊县| 沧源| 石河子市| 东丰县| 长宁区| 大同县| 和龙市| 高要市| 七台河市| 桓仁| 肥东县| 咸阳市| 罗田县| 禹城市| 儋州市| 德兴市| 微博| 瑞安市| 会泽县| 全南县| 中山市| 翁牛特旗| 郑州市| 彭泽县| 广平县| 忻州市| 咸丰县| 汾西县|