vue3视频播放插件vue3-video-play播放m3u8

文章介绍了如何在Vue3项目中使用vue3-video-play组件来播放视频,包括npm安装步骤、组件的基本使用方法以及如何处理视频源的切换。通过设置v-if和data中的reFresh状态,实现组件的销毁和重新渲染以更新视频。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 官方文档

https://xdlumia.github.io

  • npm安装
npm i vue3-video-play --save
  • vue页面
<template>
    <div>
        <vue3VideoPlay
                width="800px"
                :src="options.src"
                :type="options.type"
                :autoPlay="false"
        />
    </div>
</template>

<script>
    import "vue3-video-play/dist/style.css";
    import vue3VideoPlay from "vue3-video-play";
    import {reactive} from "vue";
    export default {
        components: {
            vue3VideoPlay,
        },
        data() {
            return {
                options: reactive({
                    src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8", //视频源
                    type: "m3u8", //视频类型
                })
            }
        }
    };

</script>
  • 切换视频

        当src变更后,先去销毁当前的组件,然后再重现渲染。使用 v-if 可以解决这个问题,data

添加 reFresh: false

                    <vue3VideoPlay v-if="reFresh"
                            :autoPlay="true"
                            :src="options.src"
                            :type="options.type"
                            width="auto" />

src变更事件

            handleReFresh() {
                this.options.src = "http://newSrc.m3u8";
                this.reFresh = false;
                this.$nextTick(()=>{
                    this.reFresh = true;
                })
            }

### 使用 `vue3-video-play` 播放 M3U8 格式视频 #### 安装依赖 为了使用 `vue3-video-play` 插件,在项目中需要先安装该库。可以通过 npm 或 yarn 来完成安装。 ```bash npm install vue3-video-play --save ``` 或者如果偏好使用 yarn: ```bash yarn add vue3-video-play ``` #### 导入并注册组件Vue 组件内导入 `vue3-video-play` 并将其作为局部或全局组件进行注册。这里展示的是在一个单独的 .vue 文件内的局部注册方式。 ```javascript import { defineComponent } from &#39;vue&#39;; import Vue3VideoPlay from &#39;vue3-video-play&#39;; export default defineComponent({ components: { Vue3VideoPlay, }, }); ``` #### 配置播放器选项 设置好必要的属性,比如自动播放 (`autoPlay`) 和源文件路径 (`src`) 等。对于 M3U8 类型的视频流,确保正确指定了 MIME 类型为 `&#39;application/x-mpegURL&#39;` 或者更常见的 `&#39;hls&#39;`[^3]。 ```html <template> <div class="video-container"> <!-- 注意这里的 type 属性 --> <vue3-video-play :autoPlay="true" :src="options.src" :type="&#39;hls&#39;" width="100%" height="auto" /> </div> </template> <script setup> const options = reactive({ src: "https://your-hls-stream-url.m3u8", }) </script> ``` #### 控制刷新行为 有时可能希望根据某些条件重新加载播放器的内容而不必刷新整个页面。可以像下面这样绑定一个布尔变量到 `<vue3-video-play>` 的 `v-if` 上面来达到这个目的[^4]。 ```html <!-- 添加 reFresh 变量控制显示/隐藏 --> <vue3-video-play v-if="reFresh" ... /> <script setup> let reFresh = ref(true); // 当想要重载时改变此值即可触发更新 function reloadPlayer() { reFresh.value = false; nextTick(() => { reFresh.value = true; }); } </script> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunyanchun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值