首页 > 其他分享 >vue3中播放flv流视频,以及组件封装超全

vue3中播放flv流视频,以及组件封装超全

时间:2024-04-01 17:30:38浏览次数:20  
标签:type 超全 url 数据源 flv default vue3 flvjs

实现以上功能的播放,只需要传入一个流的地址即可,当然组件也只有简单的实时播放功能

下面直接上组件

里面的flvjs通过npm i flv.js直接下载 

<template>
    <div class="player" style="position: relative;">
        <p style="position: absolute !important;top: 10px;left: 20px;">通道{
  { title }}</p>
        <img src="@/assets/img/videostop.png" alt="" class="centeredVideo" v-show="url == ''">
        <video  v-show="url" ref="videoElement" class="centeredVideo" controls autoplay
            muted></video>
    </div>
</template>

<script>

import flvjs from "flv.js";  //引入flv
export default {
    props: {
        title: {
            type: String,
            default: ''
        },
        url: {
            type: String,
            default: ''
        },
    },
    data() {
        return {
            flvPlayer: null,
            // src: ["http://172.21.1.111/live?port=1935&app=myapp&stream=streamname"],
        };
    },
    mounted() {
        this.flv_load(this.url);
    },
    methods: {
        flv_load(url) {
            if (flvjs.isSupported()) {
                let videoElement = this.$refs.videoElement;
                this.flvPlayer = flvjs.createPlayer(
                    {
                        type: "flv", //媒体类型
                        url: url || '', //flv格式媒体URL
                        isLive: true, //数据源是否为直播流
                        hasAudio: false, //数据源是否包含有音频
                        hasVideo: true, //数据源是否包含有视频
                        enableStashBuffer: false, //是否启用缓存区
              

标签:type,超全,url,数据源,flv,default,vue3,flvjs
From: https://blog.csdn.net/qq_35452726/article/details/137240404

相关文章

  • 大屏可视化项目示例--基于Vue3+vite2+echart+mock+axios+dataV
    图例: 项目环境:Vite、Echarts、Npm、Node、axios、mock、vue3、dataV。项目地址:IofTV-Screen-Vue3:......
  • Vue — Vue3.0状态管理工具Pinia
    一、什么是Pinia?Pinia是一个专门为Vue3设计的状态管理库。它的目标是提供一种简单、直观的方法来管理Vue应用的状态,同时充分利用Vue3的响应式系统和组合式API。Pinia主要特点包括:基于Vue3:Pinia是专门为Vue3设计的状态管理库,充分利用了Vue3的响应式系统......
  • Vue3创建空对象方法及推荐
    当使用{}时,我们实际上是在告诉TypeScript将空对象断言为任意类型(any),从而绕过了类型检查。这种做法会失去类型安全性,但在某些特定情况下可能是一种解决方案。以下是示例代码和说明://使用<any>{}将空对象断言为any类型letobj=<any>{};//对空对象进行操作obj.f......
  • 前端开发中Vue3+Typescript使用装饰器出现错误一则
    今天开发公司项目时,使用TS装饰器遇到一个问题。当我写完装饰器代码后进入网页,控制台提示SyntaxError:Invalidorunexpectedtoken两个小时后的排查后发现是tsconfig.json的配置问题。如果tsconfig.json文件中没有指定target选项,TypeScript编译器会默认使用es5作......
  • Vue 中使用 flv.js 播放视频
    引入依赖npminstall--saveflv.js<template><div><videoautoplaycontrolswidth="100%"height="500"id="videoElement"></video></div></template><script>impor......
  • vue3中任意嵌套组件传参,provide与inject
    一般父组件向子组件传值,可以通过props (defineProps).但是多级嵌套组件使用props过于麻烦,推荐可以透传的provide和inject provide提供数据   inject注入数据App.vue代码<scriptsetup>import{ref,provide}from'vue'importSonfrom"./son.vue";constgreet......
  • 【Vue3】readonly和shallowReadonly
    readonly()​接受一个对象(不论是响应式还是普通的)或是一个ref,返回一个原值的只读代理。类型functionreadonly<Textendsobject>(target:T):DeepReadonly<UnwrapNestedRefs<T>>只读代理是深层的:对任何嵌套属性的访问都将是只读的。它的ref解包行为与r......
  • 【Vue3】toRaw和markRow
    toRaw作用用于获取一个响应式对象的原始对象,toRaw返回的对象不再是响应式的,不会触发视图更新。toRaw()可以返回由reactive()、readonly()、shallowReactive()或者shallowReadonly()创建的代理对应的原始对象。注意:这是一个可以用于临时读取而不引起代理访问/跟踪开......
  • 【前端面试3+1】07vue2和vue3的区别、vue3响应原理及为什么使用proxy、vue的生命周期
    一、vue2和vue3的区别1.性能优化:        Vue3在性能方面有很大的提升,主要是通过虚拟DOM的优化和响应式系统的改进实现的。虚拟DOM重构:Vue3中对虚拟DOM进行了重构,使得更新算法更加高效,减少了更新时的开销,提升了性能。静态树提升:Vue3可以通过静态树提升技术......
  • vue3 点击按钮跳转到对应的tab页面
     大家好呀,我又来记录一下啦实现功能:点击”查看“按钮,跳转到对应的tab页面方法:router按钮部分:<el-buttonsize="small"@click="check(scope.row.name)">查看</el-button>对应的方法:check(){this.$router.push({path:'/about'})},router:import......