0.0.5-1 • Published 3 years ago
@kkan0615/vue-video-player v0.0.5-1
It's beta version!
vue-video-player
video player made by vue component
Download
NPM
npm i @kkan0615/vue-video-playerYARN
yarn add @kkan0615/vue-video-playerHow to use
Global component
import VueVideoPlayer from '@kkan0615/vue-video-player'
import '@kkan0615/vue-video-player/dist/style.css'
const app = createApp(App)
app
.component('VueVideoPlayer', VueVideoPlayer)
.mount('#app')In component
<script setup lang="ts">
import VueVideoPlayer from '@kkan0615/vue-video-player'
import '@kkan0615/vue-video-player/dist/style.css'
</script>Props
| Name | Type | Default | Description |
|---|---|---|---|
| videoList | video | [] | Video list |
| height | string | 600px | Video height |
| width | string | 600px | Video width |
| poster | string | '' | picture url before start |
| loop | boolean | false | Loop the video |
| initVolume | number | 100 | 0 to 100, first volume size |
| initPlaybackRate | number | 1 | 0 to 2, first volume size |
| videoObjectFit | object-fit (style) | 1 | object fit style |
| subtitleList | Subtitle | [] | Subtitle list |
| disable | boolean | false | Disable to press any buttons |
| playbackRateList | number | 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0 | Playback rate list |
| labelList | label | (Check the README.md) | label(i18n) list |
| subtitleClass | string | '' | subtilte class |
label list
{
noVideo: 'No video',
errorPlaying: 'Sorry there are some errors to play the video',
speed: 'speed',
subtitle: 'subtitle',
noSubtitle: 'no subtitle',
pictureInPicture: 'picture in picture',
quality: 'quality',Copy it and change the values
Slot
| Name | Description |
|---|---|
| prependInnerMenu | front of controller panel |
| appendInnerMenu | back controller panel |
| betweenPlayAndVolume | between play and volume button (usually for next video button) |
| prependSettingContend | front of setting content list item |
| appendSettingContend | back of setting content list item |
| errorContainer | Error container |
Key event
| Key | Description |
|---|---|
| space | Play or pause |
| ArrowRight | move forward |
| ArrowLeft | move backward |
| ArrowUp | volume up |
| ArrowDown | volume down |
Note
The event is added at window
Types
Video
| Key | Type | Description | Example |
|---|---|---|---|
| src | string | url | https://www.sample.com |
| type | string | type of video | video/mp4 |
| label | string | label | label |
| quality | number | quality | 720px |
| default | boolean | is it default video | true |
Note
Please use url not from local directory
Subtitle
| Key | Type | Description | Example |
|---|---|---|---|
| src | string | url | https://www.sample.com |
| srclang | string | language | en |
| default | boolean | is it default subtitle | true |
| label | string | label | label |
| kind | string | mostly use subtitle | subtitle |
Note
Please use url not from local directory
Object fit
- contain – the video will be scaled to fit the container while preserving the aspect ratio, letterboxing will be present around the video
- cover – the video is scaled to fill the container while preserving the aspect ratio, the video will be clipped
- fill – the video is scaled to fill the container without preserving the aspect ratio, the video will be stretched
- none – video is not resized
How to add more list item in setting menu
<template
#prependSettingContend
>
<li
class="vue-video-player-drop-menu-content-list-item"
@click="someFunc()"
>
<!-- icon part -->
<div
class="vue-video-player-drop-menu-content-list-item--icon"
>
<m-picture-in-picture-icon
:size="18"
/>
</div>
<!-- label part -->
<div
class="vue-video-player-drop-menu-content-title-container--title"
>
some label
</div>
</li>
</template>Note
Sorry, We don't support to additional list item like quality and subtitle menu. We plan to update it later!
Customizing
Styles
@import '@kkan0615/vue-video-player/dist/style.css'Support me
What we do next?
Hide pip mode with following code
if (!('pictureInPictureEnabled' in document)) {
pipButton.classList.add('hidden');
}Add loading panel
0.0.5-1
3 years ago
0.0.5
3 years ago
0.0.4-12
3 years ago
0.0.4-11
3 years ago
0.0.4-10
3 years ago
0.0.4-9
3 years ago
0.0.4-8
3 years ago
0.0.4-7
3 years ago
0.0.4-6
3 years ago
0.0.4-5
3 years ago
0.0.4-4
3 years ago
0.0.4-3
3 years ago
0.0.4-1
3 years ago
0.0.4
3 years ago
0.0.3-5
3 years ago
0.0.3-4
3 years ago
0.0.3-3
3 years ago
0.0.3-2
3 years ago
0.0.3-1
3 years ago
0.0.3
3 years ago
0.0.2
3 years ago
