vue-video-play使用之播放hls格式视频

开发准备

vue-video-player和videojs-contrib-hls

复制代码
npm i vue-video-player
npm i videojs-contrib-hls

引入

js 复制代码
import { videoPlayer } from 'vue-video-player'
import 'videojs-contrib-hls'

使用

html 复制代码
     <videoPlayer
                v-else
                id="jsVideo"
                ref="videoPlayer"
                :playsinline="true"
                :options="playerOptions">
      </videoPlayer>
js 复制代码
playerOptions: {
    sources: [{
		type: 'application/x-mpegURL',
		src: 'https:xxxxx..m3u8' // 这里写自己的视频地址就可以
	}],
    autoplay: true,
    loop: true,
    poster: '',
    controlBar: {
        fullscreenToggle: false,
        playToggle: false,
        volumePanel: false,
    },
},

video.js 播放器的默认结构如下所示:

复制代码
Player
├── MediaLoader (has no DOM element)
├── PosterImage
├── TextTrackDisplay
├── LoadingSpinner
├── BigPlayButton
├── LiveTracker (has no DOM element)
├─┬ ControlBar
│ ├── PlayToggle
│ ├── VolumePanel
│ ├── CurrentTimeDisplay (hidden by default)
│ ├── TimeDivider (hidden by default)
│ ├── DurationDisplay (hidden by default)
│ ├─┬ ProgressControl (hidden during live playback, except when liveui: true)
│ │ └─┬ SeekBar
│ │   ├── LoadProgressBar
│ │   ├── MouseTimeDisplay
│ │   └── PlayProgressBar
│ ├── LiveDisplay (hidden during VOD playback)
│ ├── SeekToLive (hidden during VOD playback)
│ ├── RemainingTimeDisplay
│ ├── CustomControlSpacer (has no UI)
│ ├── PlaybackRateMenuButton (hidden, unless playback tech supports rate changes)
│ ├── ChaptersButton (hidden, unless there are relevant tracks)
│ ├── DescriptionsButton (hidden, unless there are relevant tracks)
│ ├── SubtitlesButton (hidden, unless there are relevant tracks)
│ ├── CaptionsButton (hidden, unless there are relevant tracks)
│ ├── SubsCapsButton (hidden, unless there are relevant tracks)
│ ├── AudioTrackButton (hidden, unless there are relevant tracks)
│ ├── PictureInPictureToggle
│ └── FullscreenToggle
├── ErrorDisplay (hidden, until there is an error)
├── TextTrackSettings

controlBar组件的说明

playToggle, // 播放暂停按钮

volumeMenuButton,// 音量控制

currentTimeDisplay,// 当前播放时间

timeDivider, // '/' 分隔符

durationDisplay, // 总时间

progressControl, // 点播流时,播放进度条,seek控制

liveDisplay, // 直播流时,显示LIVE

remainingTimeDisplay, // 当前播放时间

playbackRateMenuButton, // 播放速率,当前只有html5模式下才支持设置播放速率

fullscreenToggle // 全屏控制

相关推荐
干前端5 分钟前
Vue3虚拟滚动列表组件进阶:不定高度及原理分析!!!
前端·前端组件
子春一9 分钟前
Flutter for OpenHarmony:构建一个 Flutter 天气卡片组件,深入解析动态 UI、响应式布局与语义化设计
javascript·flutter·ui
雨季66611 分钟前
Flutter 三端应用实战:OpenHarmony “极简文本行数统计器”
开发语言·前端·flutter·ui·交互
MAHATMA玛哈特科技24 分钟前
以曲求直:校平技术中的反直觉哲学
前端·数据库·制造·校平机·矫平机·液压矫平机
C澒29 分钟前
前端技术核心领域与实践方向
前端·系统架构
Remember_99341 分钟前
Java 单例模式深度解析:设计原理、实现范式与企业级应用场景
java·开发语言·javascript·单例模式·ecmascript
写代码的【黑咖啡】42 分钟前
Python 中的自然语言处理利器:NLTK
前端·javascript·easyui
Swift社区1 小时前
Nginx 反向代理配置 React 前端与 Python 后端
前端·nginx·react.js
可问春风_ren1 小时前
Vue3 入门详解:从基础到实战
开发语言·前端·javascript·vue.js·前端框架·ecmascript·edge浏览器
摘星编程1 小时前
用React Native开发OpenHarmony应用:NativeStack原生导航
javascript·react native·react.js