import{_ as n,c as l,o as p,V as s,z as a}from"./chunks/framework.f7d2e3c3.js";const ra=JSON.parse('{"title":"Option","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","lastUpdated":1683080086000}'),e={name:"en/start/option.md"},o=s('
container String, Element#artplayerThe DOM container attached to the player
var art = new Artplayer({
container: '.artplayer-app',
// container: document.querySelector('.artplayer-app'),
url: '/assets/sample/video.mp4',
});You may need to initialize the size of container elements, such as:
.artplayer-app {
width: 400px;
height: 300px;
}Or use aspect-ratio:
.artplayer-app {
aspect-ratio: 16/9;
}Tip
Of all options, only container is required
url String''Video source address
`,9),c=a("div",{className:"run-code"},"▶ Run Code",-1),i=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});Sometimes the url address is not known so quickly. At this time, you can set the url asynchronously
var art = new Artplayer({
container: '.artplayer-app',
});
setTimeout(() => {
art.url = '/assets/sample/video.mp4';
}, 1000);Tip
Three video file formats are supported by default: .mp4, .ogg, and .webm
If you need to play .m3u8 or .flv or other formats, please refer to the Libraries on the left
id String''The unique identifier of the player, currently only used for autoplayback
var art = new Artplayer({
id: 'your-url-id',
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
});onReady FunctionundefinedThe constructor accepts a function as the second parameter, which is triggered when the player is initialized successfully and the video can be played, just like the ready event
var art = new Artplayer(
{
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
muted: true,
},
function onReady(art) {
this.play()
},
);Equivalent to:
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
muted: true,
});
art.on('ready', () => {
art.play();
});Tip
The this in the callback function is the player instance, but if the callback function uses the arrow function, the this will not point to the player instance
poster String''Video posters will only appear when the player is initialized and not played
`,7),h=a("div",{className:"run-code"},"▶ Run Code",-1),u=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
poster: '/assets/sample/poster.jpg',
});theme String#f00The player theme color is currently used on the progress bar and highlighted element
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
theme: '#ffad00',
});volume Number0.7Default volume of player
`,4),g=a("div",{className:"run-code"},"▶ Run Code",-1),_=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
volume: 0.5,
});Tip
The player will cache the size of the last volume, and the player will read the cache value at the next initialization (such as refreshing the page)
isLive BooleanfalseWhen using live mode, the progress bar and playback time will be hidden
`,5),v=a("div",{className:"run-code"},"▶ Run Code",-1),T=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
isLive: true,
});muted BooleanfalseWhether to mute by default
`,4),f=a("div",{className:"run-code"},"▶ Run Code",-1),E=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
muted: true,
});autoplay BooleanfalseWhether to play automatically
`,4),S=a("div",{className:"run-code"},"▶ Run Code",-1),k=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoplay: true,
muted: true,
});Tip
If you want to enter the page by default to automatically play the video, muted must be true. For more information, please read Autoplay Policy Changes
autoSize BooleanfalseThe size of the player will fill the entire container size by default, so black edges often appear. This value can automatically adjust the size of the player to hide the black edges, similar to the object-fit: contain of css
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoSize: true,
});autoMini BooleanfalseWhen the player scrolls outside the viewport, it automatically enters the mini mode
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoMini: true,
});loop BooleanfalseWhether to play in a loop
`,4),I=a("div",{className:"run-code"},"▶ Run Code",-1),j=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
loop: true,
});flip BooleanfalseWhether to display the video flip function currently only appears in the Setting and Contextmenu
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
flip: true,
setting: true,
});playbackRate BooleanfalseWhether to display the video playback speed function will appear in the Setting and Contextmenu
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
playbackRate: true,
setting: true,
});aspectRatio BooleanfalseWhether to display the video aspect ratio function will appear in the Setting and Contextmenu
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
aspectRatio: true,
setting: true,
});screenshot BooleanfalseWhether to display the video screenshot function in the bottom control bar
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
screenshot: true,
});Tip
Due to the browser security policy, if the video source address and website are cross-domain, the screenshot may fail
setting BooleanfalseWhether to display the switch button of Setting in the bottom control bar
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
});hotkey BooleantrueWhether to use shortcut keys
`,4),$=a("div",{className:"run-code"},"▶ Run Code",-1),Y=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
hotkey: true,
});| Hotkeys | Sescribe |
|---|---|
↑ | Volume Up |
↓ | Volume Down |
← | Fast forward |
→ | Fast rewind |
space | Toggle play/pause |
Tip
These shortcut keys will only take effect after the player gets the focus (such as clicking the player)
pip BooleanfalseWhether to display the picture in picture switch button in the bottom control bar
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
pip: true,
});mutex BooleantrueIf there are multiple players in the page at the same time, can only one player play
`,4),G=a("div",{className:"run-code"},"▶ Run Code",-1),J=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
mutex: true,
});fullscreen BooleanfalseWhether to display the player window full screen button in the bottom control bar
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreen: true,
});fullscreenWeb BooleanfalseWhether to display the player full screen web page button in the bottom control bar
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fullscreenWeb: true,
});subtitleOffset BooleanfalseSubtitle time offset, with the range of [-5s, 5s], appears in the Settings
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
subtitleOffset: true,
subtitle: {
url: '/assets/sample/subtitle.srt',
},
setting: true,
});miniProgressBar BooleanfalseMini progress bar, only appears when the player loses focus and is playing
`,4),ls=a("div",{className:"run-code"},"▶ Run Code",-1),ps=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
miniProgressBar: true,
});useSSR BooleanfalseWhether to use the SSR mount mode is useful if you want to render the HTML required by the player in advance before the player is mounted
You can access the HTML required by the player through Artplayer.html
var $container = document.querySelector('.artplayer-app');
$container.innerHTML = Artplayer.html;
var art = new Artplayer({
container: $container,
url: '/assets/sample/video.mp4',
useSSR: true,
});playsInline BooleantrueWhether to use the playsInline mode on the mobile end
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
playsInline: true,
});layers Array[]Initialize the customized layers
var img = '/assets/sample/layer.png';
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
layers: [
{
name: 'potser',
html: \`<img style="width: 100px" src="\${img}">\`,
style: {
position: 'absolute',
top: '20px',
right: '20px',
opacity: '.9',
},
click: function (...args) {
console.info('click', args);
art.layers.show = false;
},
mounted: function (...args) {
console.info('mounted', args);
},
},
],
});Please refer to the following address for Component:
settings Array[]Initialize the customized Setting
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
settings: [
{
html: 'setting01',
selector: [
{
html: 'setting01-01',
},
{
html: 'setting01-02',
},
],
onSelect: function (...args) {
console.info(args);
},
},
{
html: 'setting02',
selector: [
{
html: 'setting02-01',
},
{
html: 'setting02-02',
},
],
onSelect: function (...args) {
console.info(args);
},
},
],
});Please refer to the following address for Setting
contextmenu Array[]Initialize the customized Contextmenu
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
contextmenu: [
{
html: 'your-menu',
click: function (...args) {
console.info('click', args);
art.contextmenu.show = false;
},
},
],
});Please refer to the following address for Component:
controls Array[]Initialize the customized Controls
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
controls: [
{
position: 'left',
html: 'your-control',
tooltip: 'Your Control',
style: {
color: 'green',
},
click: function (...args) {
console.info('click', args);
},
},
],
});Please refer to the following address for Setting
quality Array[]Whether to display the Quality list in the bottom control bar
| Property | Type | Describe |
|---|---|---|
default | Boolean | Default quality |
html | String | Quality name |
url | String | Quality name |
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
quality: [
{
default: true,
html: 'SD 480P',
url: '/assets/sample/video.mp4',
},
{
html: 'HD 720P',
url: '/assets/sample/video.mp4',
},
],
});highlight Array[]Display highlight on the progress bar
| Property | Type | Describe |
|---|---|---|
time | Number | Highlight time |
text | String | Highlight text |
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
highlight: [
{
time: 60,
text: 'One more chance',
},
{
time: 120,
text: '谁でもいいはずなのに',
},
{
time: 180,
text: '夏の想い出がまわる',
},
{
time: 240,
text: 'こんなとこにあるはずもないのに',
},
{
time: 300,
text: '--终わり--',
},
],
});plugins Array[]Initialize customized plugins
function myPlugin(art) {
console.info(art);
return {
name: 'myPlugin',
something: 'something',
doSomething: function () {
console.info('doSomething');
},
};
}
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
plugins: [myPlugin],
});thumbnails Object{}Set the thumbnails image on the progress bar
| Property | Type | Describe |
|---|---|---|
url | String | Thumbnail url |
number | Number | Thumbnail number |
column | Number | Thumbnail column |
width | Number | Thumbnail width |
height | Number | Thumbnail height |
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
thumbnails: {
url: '/assets/sample/thumbnails.png',
number: 100,
column: 10,
},
});Generate preview thumbnails online
subtitle Object{}Set the subtitle of the video and support the subtitle format: vtt, srt, ass
| Property | Type | Describe |
|---|---|---|
url | String | Subtitle url |
type | String | Subtitle type: vtt, srt, ass |
style | Object | Subtitle style |
encoding | String | Subtitle code, Default: utf-8 |
escape | Boolean | Whether to escape the html tag,Default: true |
onVttLoad | Function | Functions for modifying vtt text |
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
subtitle: {
url: '/assets/sample/subtitle.srt',
type: 'srt',
encoding: 'utf-8',
escape: true,
style: {
color: '#03A9F4',
'font-size': '30px',
},
},
});moreVideoAttr Object{'controls': false,'preload': 'metadata'}More video attributes, which will be directly written into the video element
`,4),Ss=a("div",{className:"run-code"},"▶ Run Code",-1),ks=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
moreVideoAttr: {
'webkit-playsinline': true,
playsInline: true,
},
});icons Object{}It is used to replace the default icon and supports Html String and HTMLElement
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
icons: {
loading: '<img src="/assets/img/ploading.gif">',
state: '<img src="/assets/img/state.png">',
},
});Definition of all icons
type String''It is used to indicate the format of the video. It needs to be used together with the customType. The default format of the video is the suffix of the video address (such as .m3u8, .mkv, .ts). But sometimes the video address does not have the correct suffix, so it needs to be specially specified
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.m3u8',
type: 'm3u8',
});Identification of suffix
The player can only resolve this suffix: /assets/sample/video.m3u8
However, this suffix cannot be resolved: /assets/sample/video?type=m3u8
So if you use customType, it is better to specify type at the same time
customType Object{}By matching the video's type, the video decoding right is handed over to a third-party program for processing. The processing function can receive three parameters
video : Video DOM elementurl : Video urlart : Player instancevar art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.m3u8',
customType: {
m3u8: function (video, url, art) {
//
},
},
});lang Stringnavigator.language.toLowerCase()The default display language currently supports: en, zh-cn, zh-tw, cs, pl, es, fa, fr, id, ru
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
lang: 'en',
});i18n Object{}Customize the i18n configuration, which will be deeply merged with the built-in i18n
Add your language:
`,5),xs=a("div",{className:"run-code"},"▶ Run Code",-1),Bs=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
lang: 'your-lang',
i18n: {
'your-lang': {
Play: 'Your Play'
},
},
});Modify existing language:
`,2),zs=a("div",{className:"run-code"},"▶ Run Code",-1),Ws=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
i18n: {
'zh-cn': {
Play: 'Your Play'
},
'zh-tw': {
Play: 'Your Play'
},
},
});i18n definitions
lock BooleanfalseWhether to display a lock button on the mobile end to hide the bottom control bar
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
lock: true,
});fastForward BooleanfalseWhether to add long-press video fast-forward function on the mobile terminal
`,4),Hs=a("div",{className:"run-code"},"▶ Run Code",-1),Ls=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
fastForward: true,
});autoPlayback BooleanfalseWhether to use automatic playback function
`,4),$s=a("div",{className:"run-code"},"▶ Run Code",-1),Ys=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
id: 'your-url-id',
autoPlayback: true,
});Tip
Because the player uses url as key by default to cache the playback progress
But if your url of the same video is different, you need to use id to identify the unique key of the video
autoOrientation BooleanfalseWhether to rotate the player according to the video size and viewport size when the mobile page is full screen
`,5),Qs=a("div",{className:"run-code"},"▶ Run Code",-1),Us=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
autoOrientation: true,
});airplay BooleanfalseWhether to display the airplay button. Currently, only some browsers support this function
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
airplay: true,
});cssVar Object{}Used to change built-in CSS variables
`,4),Ks=a("div",{className:"run-code"},"▶ Run Code",-1),Xs=s(`var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
cssVar: {
//
},
});cssVar definitions