本文对Web播放器SDK的属性和事件进行了说明,并提供了播放器接口的示例代码。

播放器属性

名称 类型 说明
id String 播放器外层容器的dom元素id。
source String 视频播放地址url:
  • 单独url。
  • 默认状态,表示使用vid+playauth
  • source播放方式优先级最高。
    说明 source支持多清晰度设置:source:’{“HD”:”address1”,”SD”:”address2”}’,详情请参见多清晰度播放
vid String 媒体转码服务的媒体Id。
playauth String 播放权证,获取播放权重请参见获取视频播放凭证
height String 播放器高度,取值:
  • 100%。
  • 100px。
说明 chrome浏览器下Flash播放器分别不能小于397x297px。
width String 播放器宽度,取值:
  • 100%。
  • 100px。
说明 chrome浏览器下Flash播放器分别不能小于397x297px。
videoWidth String 视频宽度,仅HTML5支持。详情请参见旋转和镜像
videoHeight String 视频高度,仅H5支持。详情请参见旋转和镜像
preload Boolean 播放器自动加载,目前仅H5可用。
cover String 播放器默认封面图片,请填写正确的图片url地址。需要autoplay值为false时,才生效。Flash播放器封面也需要开启允许跨域访问
isLive Boolean 播放内容是否为直播,直播时会禁止用户拖动进度条。
autoplay Boolean 播放器是否自动播放,在移动端autoplay属性会失效。Safari11不会自动开启自动播放,开启自动播放请参见开启自动播放
rePlay Boolean 播放器自动循环播放。
useH5Prism Boolean 指定使用H5播放器。
useFlashPrism Boolean 指定使用Flash播放器。
playsinline Boolean H5是否内置播放,有的Android浏览器不起作用。
showBuffer Boolean 显示播放时缓冲图标,默认值为true
skinRes Url 皮肤图片,不建议随意修改该字段,如要修改,请参见皮肤定制
skinLayout Array | Boolean 功能组件布局配置,不传该字段使用默认布局。取值:false隐藏所有功能组件。请参见皮肤定制
controlBarVisibility String 控制面板的实现,默认值为:hover。取值:
  • click:点击。
  • hover:停留。
  • always:一直。
showBarTime String 控制栏自动隐藏时间,单位毫秒。
extraInfo String JSON串用于定制性接口参数,目前支持:
  • fullTitle:测试页面,全屏时显示视频标题(仅Flash支持)。
  • m3u8BufferLength:播放M3U8时加载缓存,ts文件长度单位为秒(仅Flash支持)。
  • liveStartTime:直播开始时间,用于提示直播未开始(仅Flash支持)。示例:2016/08/17 12:00:00。
  • liveOverTime:直播结束时间,用于提示直播结束(仅Flash支持)。示例:2016/08/17 14:00:00。
enableSystemMenu Boolean 是否允许系统右键菜单显示,默认为false
format Sting 指定播放地址格式,只有使用vid的播放方式时支持可选值,取值:
  • mp4
  • m3u8
  • flv
  • mp3
默认为空,仅H5支持。
mediaType Sting 指定返回音频还是视频,只有使用vid的播放方式时支持,默认值为video。取值:
  • video:视频。
  • audio:针对只包含音频的视频格式,比如音频的MP4。仅H5支持。
qualitySort Sting 指定排序方式,只有使用vid + plauth播放方式时支持。取值:
  • desc:表示按倒序排序(即:从大到小排序)。
  • asc:示按正序排序(即:从小到大排序)。
默认值:asc,仅H5支持。
definition Sting 显示视频清晰度,多个使用英文逗号(,)分隔,比如:’FD,LD’,此值是vid对应流清晰度的一个子集,取值:
  • FD(流畅)。
  • LD(标清)。
  • SD(高清)。
  • HD(超清)。
  • OD(原画)。
  • 2K(2K)。
  • 4K(4K)。
仅H5支持。
defaultDefinition Sting 默认视频清晰度,此值是vid对应流的一个清晰度,取值:
  • FD(流畅)。
  • LD(标清)。
  • SD(高清)。
  • HD(超清)。
  • OD(原画)。
  • 2K(2K)。
  • 4K(4K)。
仅H5支持。
x5_type String 声明启用同层H5播放器,启用时取值:H5 。详情请参见同层播放
x5_fullscreen Boolean 声明视频播放时是否进入到TBS的全屏模式,默认值为false。取值:
  • false:不把视频做为背景。
  • true:把视频做为背景。
详情参见同层播放
x5_video_position String 声明视频播在界面上的位置,默认值为center。取值:
  • center:居中。
  • top:顶部。
详情请参见同层播放
x5_orientation String 声明TBS播放器支持的方向,取值:
  • landscape:横屏。
  • portraint:竖屏。
详情请参见同层播放
x5LandscapeAsFullScreen String 声明TBS全屏播放是否横屏,默认值为true。取值:
  • true
  • false
autoPlayDelay Number 延迟播放时间,单位为秒。详情参见延迟播放
autoPlayDelayDisplayText String 延迟播放提示文本,详情参见延迟播放
language String 国际化,默认为zh-cn。如果未设置,则采用浏览器语言。取值:
  • zh-cn
  • en-us
languageTexts JSON 自定义国际化文本json结构,key的值需要和language属性值对应起来。示例:{jp:{Play:”Play”}} 自定义值请参见Json结构
snapshot Boolean Flash启用截图功能。
snapshotWatermark Object H5设置截图水印。
useHlsPluginForSafari Boolean Safari浏览器可以启用HLS插件播放,Safari 11除外。
enableStashBufferForFlv Boolean H5播放FLV时,设置是否启用播放缓存,只在直播下起作用。
stashInitialSizeForFlv Number H5播放flv时,初始缓存大小,只在直播下起作用。
loadDataTimeout Number 缓冲多长时间后,提示用户切换低清晰度,默认:20秒。
waitingTimeout Number 最大缓冲超时时间,超过这个时间会有错误提示,默认:60秒。
liveStartTime String 直播开始时间,直播时移功能使用,格式示例为:2018/01/04 12:00:00。
liveOverTime String 直播结束时间,直播时移功能使用,格式示例为:2018/01/04 12:00:00。
liveTimeShiftUrl String 直播可用时移查询地址,详情参见直播时移
liveShiftSource String FLV直播地址播放时,HLS的流地址,详情请参见直播时移
recreatePlayer Function FLV直播和HLS时移切换是,重新创建播放器方法,详情请参见直播时移
diagnosisButtonVisible Boolean 是否显示检测按钮,默认值为true。取值:
  • true
  • false
disableSeek Boolean 禁用进度条的Seek,默认值为false取值:
  • true
  • false
仅Flash支持。
encryptType int 加密类型,播放点播私有加密视频时,默认值为0,取值:
  • 0:不加密视频。
  • 1:播放加密视频。
说明
progressMarkers Array 进度条打点内容数组,详情请参见进度条标记
vodRetry int 点播失败重试次数,默认3次 。
liveRetry int 直播播放失败重试次数,默认5次。
hlsFrameChasing boolean HLS直播模式下,是否开启追帧。
chasingFirstParagraph number 第一段追帧,默认:20秒。
chasingSecondParagraph number 第二段追帧,默认:40秒。
chasingFirstSpeed number 第一段追帧的倍速,默认1.1倍速。
chasingSecondSpeed number 第二段追帧的倍速,默认1.1倍速。

播放器接口

API需要在ready事件发生之后或创建播放器reday回调里, H5可以在创建播放器构造函数的回调函数里调用。示例如下:
  • Flash播放器
    //Flash 播放器
     player.on('ready',function(e) {
        player.play();
     });
  • HTML5播放器
    //H5 播放器
     var player = new Aliplayer({},function(player) {
        player.play();
     });
名称 参数 说明
play 播放视频。
pause 暂停视频。
replay 重播视频。
seek time 跳转到某个时刻进行播放,time的单位为秒。
getCurrentTime 获取当前的播放时刻,返回的单位为秒。
getDuration 获取视频总时长,返回的单位为秒,这个需要在视频加载完成以后才可以获取到,可以在play事件后获取。
getVolume 获取当前的音量,返回值为0~1的实数。ios和部分android会失效。
setVolume 设置音量,vol为0~1的实数,ios和部分android会失效。
loadByUrl url,time 直接播放视频url,time为可选值(单位秒)。目前只支持同种格式(mp4/flv/m3u8)之间切换。暂不支持直播rtmp流切换。
replayByVidAndPlayAuth vid:视频id playauth:播放凭证 目前只支持H5播放器。暂不支持不同格式视频间的之间切换。暂不支持直播rtmp流切换。
replayByVidAndAuthInfo 仅MPS用户时使用 参数顺序为:vid、accId、accSecret、stsToken、authInfo、domainRegion 目前只支持H5播放器。暂不支持不同格式视频间的之间切换。暂不支持直播rtmp流切换。
setPlayerSize w,h 设置播放器大小,取值:
  • 400px
  • 60%
chrome浏览器下Flash播放器分别不能小于397x297px。
setSpeed speed 手动设置播放的倍速,倍速播放仅H5支持。移动端可能会失效,比如android微信。倍速播放UI默认是开启的。如果自定义过skinLaout属性,需要添加speedButton项到数组里,示例:{name:“speedButton”,align:“tr”,x:10,y:23}
setSanpshotProperties width:宽度 height:高度 rate:截图质量 设置截图参数。
fullscreenService.requestFullScreen 播放器全屏,仅H5支持。
fullscreenService.cancelFullScreen 播放器退出全屏,iOS调用无效,仅H5支持。
fullscreenService.getIsFullScreen 获取播放器全屏状态,仅H5支持。
getStatus 获取播放器状态,取值:
  • init
  • ready
  • loading
  • play
  • pause
  • playing
  • waiting
  • error
  • ended
liveShiftSerivce.setLiveTimeRange 开始时间结束时间 设置直播的开始结束时间,开启直播时移功能时使用。 示例:player.liveShiftSerivce.setLiveTimeRange(“”,‘2018/01/04 20:00:00’)
setRotate rotate 旋转角度 参数为旋转角度, 正数为正时针旋转, 负数为逆时针旋转。示例:setRotate(90)。详情请参见旋转和镜像
getRotate 获取旋转角度。详情请参见旋转和镜像
setImage image:镜像类型 设置镜像,取值:
  • horizon
  • vertical
示例:setImage(‘horizon’)。详情请参见旋转和镜像
dispose 播放器销毁
setCover cover封面地址 设置封面
setProgressMarkers markers打点数据集合 设置打点数据
setPreviewTime time试看时间 设置试看时间,单位为秒,详情请参见试看
getPreviewTime 获取试看时间
isPreview 是否试看

播放器事件

名称 说明
ready 播放器视频初始化按钮渲染完毕。播放器UI初始设置需要此事件后触发,避免UI被初始化所覆盖。播放器提供的方法需要在此事件发生后才可以调用。
play 视频由暂停恢复为播放时触发。
pause 视频暂停时触发。
canplay 能够开始播放音频和视频时发生,会多次触发,仅H5播放器。
playing 播放中,会触发多次。
ended 当前视频播放完毕时触发。
liveStreamStop 直播流中断时触发。M3U8、FLV、RTMP在重试5次未成功后触发。提示上层流中断或需要重新加载视频。
说明 如果M3U8、FLV、RTMP的直播流断流或者出错,播放器会自动重试5次,不需要上层添加重试逻辑。
onM3u8Retry M3U8直播流中断后重试事件,每次断流只触发一次。
hideBar 控制栏自动隐藏事件。
showBar 控制栏自动显示事件。
waiting 数据缓冲事件。
timeupdate 播放位置发生改变时触发,仅H5播放器。可通过getCurrentTime方法,得到当前播放时间。
snapshoted 截图完成事件。
requestFullScreen 全屏事件,仅H5支持。
cancelFullScreen 取消全屏事件,iOS下不会触发,仅H5支持。
error 错误事件。
startSeek 开始拖拽,参数返回拖拽点的时间。
completeSeek 完成拖拽,参数返回拖拽点的时间。
resolutionChange 直播情况下,推流端切换了分辨率。
seiFrame HLS收到sei消息。

订阅事件

  • 通过播放器实例的on方法订阅。示例如下:
     var handleReady = function(e)
     {
        console.log(e);
     }
     player.on('ready',handleReady);
  • 通过播放器实例的off方法取消订阅。示例如下:
     player.off('ready',handleReady);

错误代码

代码 含义
4001 参数不合理。
4002 鉴权过期。
4003 无效地址。
4004 地址不存在。
4005 开始下载数据错误,检测网络情况或播放地址是否可以访问。
4006 开始下载元数据数据错误。
4007 播放时错误。
4008 加载超时,检测网络情况或播放地址是否可以访问。
4009 请求数据错误,测网络情况或播放地址是否可以访问。
4010 不支持加密视频播放。
4011 播放格式不支持。
4012 playauth解析错误。
4013 播放数据解码错误MEDIA_ERR_DECODE,检测浏览器是否支持视频格式。
4014 网络不可用。
4015 获取数据过程被中止MEDIA_ERR_ABORTED。
4016 播网络错误加载数据失败MEDIA_ERR_NETWORK。
4017 返回的播放地址为空。
4400 未知错误MEDIA_ERR_SRC_NOT_SUPPORTED(由于服务器或网络原因不能加载资源,或者格式不支持)。
4500 服务端请求错误,查看Network里点播服务的请求的具体错误。