import{_ as l,c as p,o as e,b as s,d as a,a as n}from"./app.c821c423.js";const Ps=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[{"level":2,"title":"ready","slug":"ready","link":"#ready","children":[]},{"level":2,"title":"restart","slug":"restart","link":"#restart","children":[]},{"level":2,"title":"pause","slug":"pause","link":"#pause","children":[]},{"level":2,"title":"play","slug":"play","link":"#play","children":[]},{"level":2,"title":"hotkey","slug":"hotkey","link":"#hotkey","children":[]},{"level":2,"title":"destroy","slug":"destroy","link":"#destroy","children":[]},{"level":2,"title":"url","slug":"url","link":"#url","children":[]},{"level":2,"title":"focus","slug":"focus","link":"#focus","children":[]},{"level":2,"title":"blur","slug":"blur","link":"#blur","children":[]},{"level":2,"title":"dblclick","slug":"dblclick","link":"#dblclick","children":[]},{"level":2,"title":"click","slug":"click","link":"#click","children":[]},{"level":2,"title":"error","slug":"error","link":"#error","children":[]},{"level":2,"title":"hover","slug":"hover","link":"#hover","children":[]},{"level":2,"title":"mousemove","slug":"mousemove","link":"#mousemove","children":[]},{"level":2,"title":"resize","slug":"resize","link":"#resize","children":[]},{"level":2,"title":"view","slug":"view","link":"#view","children":[]},{"level":2,"title":"aspectRatio","slug":"aspectratio","link":"#aspectratio","children":[]},{"level":2,"title":"autoHeight","slug":"autoheight","link":"#autoheight","children":[]},{"level":2,"title":"autoSize","slug":"autosize","link":"#autosize","children":[]},{"level":2,"title":"flip","slug":"flip","link":"#flip","children":[]},{"level":2,"title":"fullscreen","slug":"fullscreen","link":"#fullscreen","children":[]},{"level":2,"title":"fullscreenWeb","slug":"fullscreenweb","link":"#fullscreenweb","children":[]},{"level":2,"title":"mini","slug":"mini","link":"#mini","children":[]},{"level":2,"title":"pip","slug":"pip","link":"#pip","children":[]},{"level":2,"title":"screenshot","slug":"screenshot","link":"#screenshot","children":[]},{"level":2,"title":"seek","slug":"seek","link":"#seek","children":[]},{"level":2,"title":"subtitleOffset","slug":"subtitleoffset","link":"#subtitleoffset","children":[]},{"level":2,"title":"subtitleUpdate","slug":"subtitleupdate","link":"#subtitleupdate","children":[]},{"level":2,"title":"subtitleLoad","slug":"subtitleload","link":"#subtitleload","children":[]},{"level":2,"title":"subtitleSwitch","slug":"subtitleswitch","link":"#subtitleswitch","children":[]},{"level":2,"title":"video:canplay","slug":"video-canplay","link":"#video-canplay","children":[]},{"level":2,"title":"video:canplaythrough","slug":"video-canplaythrough","link":"#video-canplaythrough","children":[]},{"level":2,"title":"video:complete","slug":"video-complete","link":"#video-complete","children":[]},{"level":2,"title":"video:durationchange","slug":"video-durationchange","link":"#video-durationchange","children":[]},{"level":2,"title":"video:emptied","slug":"video-emptied","link":"#video-emptied","children":[]},{"level":2,"title":"video:ended","slug":"video-ended","link":"#video-ended","children":[]},{"level":2,"title":"video:error","slug":"video-error","link":"#video-error","children":[]},{"level":2,"title":"video:loadeddata","slug":"video-loadeddata","link":"#video-loadeddata","children":[]},{"level":2,"title":"video:loadedmetadata","slug":"video-loadedmetadata","link":"#video-loadedmetadata","children":[]},{"level":2,"title":"video:pause","slug":"video-pause","link":"#video-pause","children":[]},{"level":2,"title":"video:play","slug":"video-play","link":"#video-play","children":[]},{"level":2,"title":"video:playing","slug":"video-playing","link":"#video-playing","children":[]},{"level":2,"title":"video:progress","slug":"video-progress","link":"#video-progress","children":[]},{"level":2,"title":"video:ratechange","slug":"video-ratechange","link":"#video-ratechange","children":[]},{"level":2,"title":"video:seeked","slug":"video-seeked","link":"#video-seeked","children":[]},{"level":2,"title":"video:seeking","slug":"video-seeking","link":"#video-seeking","children":[]},{"level":2,"title":"video:stalled","slug":"video-stalled","link":"#video-stalled","children":[]},{"level":2,"title":"video:suspend","slug":"video-suspend","link":"#video-suspend","children":[]},{"level":2,"title":"video:timeupdate","slug":"video-timeupdate","link":"#video-timeupdate","children":[]},{"level":2,"title":"video:volumechange","slug":"video-volumechange","link":"#video-volumechange","children":[]},{"level":2,"title":"video:waiting","slug":"video-waiting","link":"#video-waiting","children":[]}],"relativePath":"advanced/event.md","lastUpdated":1673441101000}'),o={name:"advanced/event.md"},r=s("h1",{id:"实例事件",tabindex:"-1"},[a("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-hidden":"true"},"#")],-1),c=s("p",null,[a("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),a(" (前缀 "),s("code",null,"video:"),a("),另外一种是 "),s("code",null,"自定义事件")],-1),t=s("p",null,"监听事件:",-1),D=s("div",{className:"run-code"},"▶ Run Code",-1),y=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('video:canplay', () => {
    console.info('video:canplay');
});

只监听一次事件:

`,2),F=s("div",{className:"run-code"},"▶ Run Code",-1),i=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.once('video:canplay', () => {
    console.info('video:canplay');
});

手动触发事件:

`,2),A=s("div",{className:"run-code"},"▶ Run Code",-1),C=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.emit('focus');

移除事件:

`,2),d=s("div",{className:"run-code"},"▶ Run Code",-1),u=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

const onReady = () => {
    console.info('ready');
    art.off('ready', onReady);
}

art.on('ready', onReady);

全部事件请参考以下地址:

artplayer/types/events.d.ts

ready

当播放器首次可以播放器时触发

`,4),b=s("div",{className:"run-code"},"▶ Run Code",-1),h=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('ready', () => {
    console.info('ready');
});

restart

当播放器切换地址后并可以播放时触发

`,3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('ready', () => {
    art.url = '/assets/sample/video.mp4'
});

art.on('restart', () => {
    console.info('restart');
});

pause

当播放器暂停时触发

`,3),v=s("div",{className:"run-code"},"▶ Run Code",-1),g=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('pause', () => {
    console.info('pause');
});

play

当播放器播放时触发

`,3),E=s("div",{className:"run-code"},"▶ Run Code",-1),T=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('play', () => {
    console.info('play');
});

hotkey

当播放器热键被按下时触发

`,3),f=s("div",{className:"run-code"},"▶ Run Code",-1),k=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('hotkey', (event) => {
    console.info('hotkey', event);
});

destroy

当播放器销毁时触发

`,3),S=s("div",{className:"run-code"},"▶ Run Code",-1),w=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('ready', () => {
    art.destroy();
});

art.on('destroy', () => {
    console.info('destroy');
});

url

当视频地址变化时触发

`,3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('ready', () => {
    art.url = '/assets/sample/video.mp4?t=0'
});

art.on('url', (url) => {
    console.info('url', url);
});

focus

当播放器获得焦点时触发

`,3),V=s("div",{className:"run-code"},"▶ Run Code",-1),P=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('focus', () => {
    console.info('focus');
});

blur

当播放器失去焦点时触发

`,3),j=s("div",{className:"run-code"},"▶ Run Code",-1),I=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('blur', () => {
    console.info('blur');
});

dblclick

当播放器被双击时触发

`,3),x=s("div",{className:"run-code"},"▶ Run Code",-1),z=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('dblclick', () => {
    console.info('dblclick');
});

click

当播放器被单击时触发

`,3),O=s("div",{className:"run-code"},"▶ Run Code",-1),U=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('click', () => {
    console.info('click');
});

error

当播放器加载视频发生错误时触发

`,3),H=s("div",{className:"run-code"},"▶ Run Code",-1),W=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/404.mp4',
});

art.on('error', (error, reconnectTime) => {
    console.info(error, reconnectTime);
});

hover

当播放器被鼠标移出或者移入时触发

`,3),L=s("div",{className:"run-code"},"▶ Run Code",-1),$=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('hover', (state) => {
    console.info('hover', state);
});

mousemove

当播放器被鼠标经过时触发

`,3),B=s("div",{className:"run-code"},"▶ Run Code",-1),J=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('mousemove', (event) => {
    console.info('mousemove', event);
});

resize

当播放器尺寸变化时触发

`,3),q=s("div",{className:"run-code"},"▶ Run Code",-1),G=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('resize', () => {
    console.info('resize');
});

view

当播放器出现在视口时触发

`,3),K=s("div",{className:"run-code"},"▶ Run Code",-1),M=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('view', (state) => {
    console.info('view', state);
});

aspectRatio

当播放器长宽比变化时触发

`,3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    aspectRatio: true,
    setting: true,
});

art.on('aspectRatio', (aspectRatio) => {
    console.info('aspectRatio', aspectRatio);
});

autoHeight

当播放器自动设置高度时触发

`,3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('ready', () => {
    art.autoHeight = true;
});

art.on('autoHeight', (height) => {
    console.info('autoHeight', height);
});

autoSize

当播放器自动设置尺寸时触发

`,3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),ns=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    autoSize: true,
});

art.on('autoSize', () => {
    console.info('autoSize');
});

flip

当播放器发生翻转时触发

`,3),as=s("div",{className:"run-code"},"▶ Run Code",-1),ls=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    flip: true,
    setting: true,
});

art.on('flip', (flip) => {
    console.info('flip', flip);
});

fullscreen

当播放器发生窗口全屏时触发

`,3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),es=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    fullscreen: true,
});

art.on('fullscreen', (state) => {
    console.info('fullscreen', state);
});

fullscreenWeb

当播放器发生网页全屏时触发

`,3),os=s("div",{className:"run-code"},"▶ Run Code",-1),rs=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    fullscreenWeb: true,
});

art.on('fullscreenWeb', (state) => {
    console.info('fullscreenWeb', state);
});

mini

当播放器进入迷你模式时触发

`,3),cs=s("div",{className:"run-code"},"▶ Run Code",-1),ts=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('ready', () => {
    art.mini = true;
});

art.on('mini', (state) => {
    console.info('mini', state);
});

pip

当播放器进入画中画时触发

`,3),Ds=s("div",{className:"run-code"},"▶ Run Code",-1),ys=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    pip: true,
});

art.on('pip', (state) => {
    console.info('pip', state);
});

screenshot

当播放器被截图时触发

`,3),Fs=s("div",{className:"run-code"},"▶ Run Code",-1),is=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    screenshot: true,
});

art.on('screenshot', (dataUri) => {
    console.info('screenshot', dataUri);
});

seek

当播放器发生时间跳转时触发

`,3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
});

art.on('seek', (currentTime) => {
    console.info('seek', currentTime);
});

subtitleOffset

当播放器发生字幕偏移时触发

`,3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),us=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    subtitleOffset: true,
    subtitle: {
        url: '/assets/sample/subtitle.srt',
    },
    setting: true,
});

art.on('subtitleOffset', (offset) => {
    console.info('subtitleOffset', offset);
});

subtitleUpdate

当字幕更新时触发

`,3),bs=s("div",{className:"run-code"},"▶ Run Code",-1),hs=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    subtitle: {
        url: '/assets/sample/subtitle.srt',
    },
});

art.on('subtitleUpdate', (text) => {
    console.info('subtitleUpdate', text);
});

subtitleLoad

当字幕加载时触发

`,3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    subtitle: {
        url: '/assets/sample/subtitle.srt',
    },
});

art.on('subtitleLoad', (url) => {
    console.info('subtitleLoad', url);
});

subtitleSwitch

当字幕切换时触发

`,3),vs=s("div",{className:"run-code"},"▶ Run Code",-1),gs=n(`
js
var art = new Artplayer({
    container: '.artplayer-app',
    url: '/assets/sample/video.mp4',
    subtitle: {
        url: '/assets/sample/subtitle.srt',
    },
});

art.on('ready', () => {
    art.subtitle.url = '/assets/sample/subtitle.ass';
});

art.on('subtitleSwitch', (url) => {
    console.info('subtitleSwitch', url);
});

video:canplay

浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容

video:canplaythrough

浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束

video:complete

OfflineAudioContext 渲染完成

video:durationchange

duration 属性的值改变时触发

video:emptied

媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载它

video:ended

视频停止播放,因为 media 已经到达结束点

video:error

获取媒体数据时出错,或者资源类型不是受支持的媒体格式

video:loadeddata

media 中的首帧已经完成加载

video:loadedmetadata

已加载元数据

video:pause

播放已暂停

video:play

播放已开始

video:playing

由于缺乏数据而暂停或延迟后,播放准备开始

video:progress

在浏览器加载资源时周期性触发

video:ratechange

播放速率发生变化

video:seeked

跳帧(seek)操作完成

video:seeking

跳帧(seek)操作开始

video:stalled

用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现

video:suspend

媒体数据加载已暂停

video:timeupdate

currentTime 属性指定的时间发生变化

video:volumechange

音量发生变化

video:waiting

由于暂时缺少数据,播放已停止

`,43),Es=[r,c,t,D,y,F,i,A,C,d,u,b,h,m,_,v,g,E,T,f,k,S,w,R,N,V,P,j,I,x,z,O,U,H,W,L,$,B,J,q,G,K,M,Q,X,Y,Z,ss,ns,as,ls,ps,es,os,rs,cs,ts,Ds,ys,Fs,is,As,Cs,ds,us,bs,hs,ms,_s,vs,gs];function Ts(fs,ks,Ss,ws,Rs,Ns){return e(),p("div",null,Es)}const js=l(o,[["render",Ts]]);export{Ps as __pageData,js as default};