import{_ as n,o as l,c as p,ak as s,j as i}from"./chunks/framework.xxfEszSJ.js";const c=JSON.parse('{"title":"Settings Panel","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","filePath":"en/component/setting.md","lastUpdated":1764426402000}'),t={name:"en/component/setting.md"};function e(h,a,k,E,r,d){return l(),p("div",null,a[0]||(a[0]=[s('
Settings Panel Built-in First, you need to open the settings panel. It comes with four built-in items: flip, playbackRate, aspectRatio, subtitleOffset
',3),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
flip: true ,
playbackRate: true ,
aspectRatio: true ,
subtitleOffset: true ,
}); 1 2 3 4 5 6 7 8 9
Property Type Description htmlString, ElementElement DOM iconString, ElementElement icon onClickFunctionElement click event widthNumberList width tooltipStringTooltip text
`,3),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
settings: [
{
html: 'Button' ,
icon: '<img width="22" height="22" src="/assets/img/state.svg">' ,
tooltip: 'tooltip' ,
onClick ( item , $dom , event ) {
console. info (item, $dom, event);
return 'new tooltip'
}
},
],
}); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Creating - Selection Lists Property Type Description htmlString, ElementElement DOM iconString, ElementElement icon selectorArrayElement list onSelectFunctionElement click event widthNumberList width tooltipStringTooltip text
`,3),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
settings: [
{
html: 'Subtitle' ,
width: 250 ,
tooltip: 'Subtitle 01' ,
selector: [
{
default: true ,
html: '<span style="color:red">Subtitle 01</span>' ,
url: '/assets/sample/subtitle.srt?id=1' ,
},
{
html: '<span style="color:yellow">Subtitle 02</span>' ,
url: '/assets/sample/subtitle.srt?id=2' ,
},
],
onSelect : function ( item , $dom , event ) {
console. info (item, $dom, event);
art.subtitle.url = item.url;
return item.html;
},
},
{
html: 'Quality' ,
width: 150 ,
tooltip: '1080P' ,
selector: [
{
default: true ,
html: '1080P' ,
url: '/assets/sample/video.mp4?id=1080' ,
},
{
html: '720P' ,
url: '/assets/sample/video.mp4?id=720' ,
},
{
html: '360P' ,
url: '/assets/sample/video.mp4?id=360' ,
},
],
onSelect : function ( item , $dom , event ) {
console. info (item, $dom, event);
art. switchQuality (item.url, item.html);
return item.html;
},
},
],
}); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
Creating - Nested Lists `,2),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
settings: [
{
html: 'Multi-level' ,
selector: [
{
html: 'Setting 01' ,
width: 150 ,
selector: [
{
html: 'Setting 01 - 01' ,
},
{
html: 'Setting 01 - 02' ,
},
],
onSelect : function ( item , $dom , event ) {
console. info (item, $dom, event);
return item.html;
},
},
{
html: 'Setting 02' ,
width: 150 ,
selector: [
{
html: 'Setting 02 - 01' ,
},
{
html: 'Setting 02 - 02' ,
},
],
onSelect : function ( item , $dom , event ) {
console. info (item, $dom, event);
return item.html;
},
},
],
},
],
});
## Create - Toggle Button
| Property | Type | Description |
| ---------- | ------------------- | ------------------------- |
| \`html\` | \`String\` , \`Element\` | DOM element of the item |
| \`icon\` | \`String\` , \`Element\` | Icon of the item |
| \`switch\` | \`Boolean\` | Default state of the button |
| \`onSwitch\` | \`Function\` | Button toggle event |
| \`tooltip\` | \`String\` | Tooltip text |
< div className = "run-code" >▶ Run Code</ div >
\`\`\`js
var art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/video.mp4',
setting: true,
settings: [
{
html: 'PIP Mode',
tooltip: 'Close',
icon: '<img width="22" height="22" src="/assets/img/state.svg">',
switch: false,
onSwitch: function (item, $dom, event) {
console.info(item, $dom, event);
const nextState = !item.switch;
art.pip = nextState;
item.tooltip = nextState ? 'Open' : 'Close';
return nextState;
},
},
],
}); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
Create - Range Slider Property Type Description htmlString, ElementDOM element of the item iconString, ElementIcon of the item rangeArrayDefault state array onRangeFunctionEvent triggered on completion onChangeFunctionEvent triggered on change tooltipStringTooltip text
js const range = [ 5 , 1 , 10 , 1 ];
const value = range[ 0 ];
const min = range[ 1 ];
const max = range[ 2 ];
const step = range[ 3 ]; 1 2 3 4 5
`,4),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
settings: [
{
html: 'Slider' ,
tooltip: '5x' ,
icon: '<img width="22" height="22" src="/assets/img/state.svg">' ,
range: [ 5 , 1 , 10 , 1 ],
onChange : function ( item , $dom , event ) {
console. info (item, $dom, event);
return item.range[ 0 ] + 'x' ;
},
},
],
}); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Add `,2),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
});
art.setting.show = true ;
art.setting. add ({
html: 'Slider' ,
tooltip: '5x' ,
icon: '<img width="22" height="22" src="/assets/img/state.svg">' ,
range: [ 5 , 1 , 10 , 1 ],
}); 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Remove `,2),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
flip: true ,
settings: [
{
name: 'slider' ,
html: 'Slider' ,
tooltip: '5x' ,
icon: '<img width="22" height="22" src="/assets/img/state.svg">' ,
range: [ 5 , 1 , 10 , 1 ],
},
],
});
art.setting.show = true ;
art. on ( 'ready' , () => {
setTimeout (() => {
// Delete the setting by name
art.setting. remove ( 'slider' );
}, 3000 );
}); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Update `,2),i("div",{className:"run-code"},"▶ Run Code",-1),s(`js var art = new Artplayer ({
container: '.artplayer-app' ,
url: '/assets/sample/video.mp4' ,
setting: true ,
settings: [
{
name: 'slider' ,
html: 'Slider' ,
tooltip: '5x' ,
icon: '<img width="22" height="22" src="/assets/img/state.svg">' ,
range: [ 5 , 1 , 10 , 1 ],
},
],
});
art.setting.show = true ;
art. on ( 'ready' , () => {
setTimeout (() => {
// Update the setting by name
art.setting. update ({
name: 'slider' ,
html: 'PIP Mode' ,
tooltip: 'Close' ,
icon: '<img width="22" height="22" src="/assets/img/state.svg">' ,
switch: false ,
});
}, 3000 );
}); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
`,1)]))}const y=n(t,[["render",e]]);export{c as __pageData,y as default};