vue加载m3u8视频格式

本文介绍如何在Vue项目中实现手机端M3U8格式视频的播放,包括安装vue-video-player,配置video.js,以及在页面中使用video-player组件的具体步骤。

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

vue加载m3u8视频格式(手机端)

vue加载视频的方式有很多,但是想找到合适自己的很难,今天就给大家分享下vue手机端加载m3u8格式的视频文件,废话不多说,直接上码:

第一步:npm install vue-video-player --save

第二步:在main.js中引入:如下代码

import VideoPlayer from 'vue-video-player'
require ('vue-video-palyer/node-modules/video.js/dist/video-js.css')
const hls = require('vidojs-contrib-hls')
Vue.use(hls)

第三步:在需要加载视频的页面添加如下代码

<video-player class="video-player vjs-customer-skin"
    ref="videoPlayer"
    :playsinline="true"
    :options="playerOptions"
>  
</video-player>


//在vue的data中添加options对象 格式如下
playerOptions : {
    playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
    autoplay: false, //如果true,浏览器准备好时开始回放。
    muted: false, // 默认情况下将会消除任何音频。
    loop: false, // 导致视频一结束就重新开始。
    preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
    language: 'zh-CN',
    aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
    fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
    sources: [{
      type: "application/x-mpegURL",//如果视频格式是m3u8格式,需要添加该类型
      src: "" //url地址
    }],
    poster: "../../static/images/test.jpg", //你的封面地址
    // width: document.documentElement.clientWidth, //播放器宽度
    notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。
    controlBar: {
      timeDivider: true,
      durationDisplay: true,
      remainingTimeDisplay: false,
      fullscreenToggle: true  //全屏按钮
    }
}

第四步:在请求的接口中进行赋值操作 ,赋值给playerOptions.sources[0].src

关注点:在playerOptions的type需要设置视频的格式,如果样式有问题,需要在node-module中找到对应的插件进行修改样式,也可以重新自己修改样式优先级,覆盖插件的样式

以上,就是关于vue手机端播放m3u8格式视频的所有步骤,如有疑问或者不足的地方,欢迎留言评论,感谢!

 

 

### 实现 Vue 3 中播放 M3U8 格式视频 为了在 Vue 3 项目中成功播放 M3U8 格式的视频,推荐采用 `video.js` 和其 HLS 插件组合的方式。以下是具体的操作流程: #### 安装必要的依赖包 通过 npm 或 yarn 来安装所需的软件包,包括 Video.js 及其 CSS 文件以及支持 HTTP Live Streaming (HLS) 的插件。 ```bash npm install video.js videojs-contrib-hls --save ``` 或者如果使用 Yarn: ```bash yarn add video.js videojs-contrib-hls ``` #### 创建并配置 Video 组件 创建一个新的 Vue 单文件组件用于封装 Video.js 播放器逻辑,在此示例中命名为 `VideoPlayer.vue`。 ```html <template> <div ref="player"></div> </template> <script setup lang="ts"> import { onMounted, onBeforeUnmount } from 'vue'; import videojs from 'video.js'; import 'video.js/dist/video-js.css'; // 导入样式表 require('videojs-contrib-hls'); let player; onMounted(() => { const el = document.createElement('video'); Object.assign(el, { id: 'my-video', className: 'video-js vjs-default-skin', controls: true, preload: 'auto' }); el.setAttribute('data-setup', '{}'); el.innerHTML = `<source src="${props.src}" type='application/x-mpegURL' />`; $refs.player.appendChild(el); player = videojs('#my-video'); }); const props = defineProps({ src: String }) onBeforeUnmount(() => { if (player !== undefined && typeof(player.dispose) === "function") { player.dispose(); } }); </script> ``` 这段代码定义了一个简单的 Vue 组件,它接收一个属性 `src` 表示要加载M3U8 流地址,并利用生命周期钩子函数初始化和销毁 Video.js 播放实例[^4]。 #### 使用自定义组件 最后一步是在应用程序的主要布局或其他任何地方导入并注册这个新创建的组件,以便能够实际调用该功能。 ```javascript // main.ts or app entry file import App from './App.vue'; import VideoPlayer from '@/components/VideoPlayer.vue'; createApp(App).component('VideoPlayer', VideoPlayer).mount('#app'); ``` 现在可以在模板里像下面这样简单地使用 `<VideoPlayer>` 标签来显示视频了: ```html <!-- SomeComponent.vue --> <template> <!-- ... other elements... --> <VideoPlayer :src="'http://example.com/path/to/stream.m3u8'" /> <!-- ... more content ... --> </template> ``` 以上就是在 Vue 3 应用程序内集成 M3U8 视频流的方法概述。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值