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

属性

说明
  • 如果您在使用过程中遇见问题,可以参考Web播放器常见问题
  • 更多SDK咨询问题,可搜索钉钉群号2720012141入群咨询专家。
名称 类型 说明
id String 播放器外层容器的dom元素ID。
source String 视频播放地址URL。
说明 URL播放方式优先级最高。URL播放方式支持多清晰度设置: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 视频宽度,仅H5模式支持。更多信息,请参见设置显示模式
videoHeight String 视频高度,仅H5模式支持。更多信息,请参见设置显示模式
preload Boolean 播放器自动加载,目前仅H5模式可用。
cover String 播放器默认封面图片,请填写正确的图片URL地址。需要autoplay值为false时,才生效。Flash播放器封面也需要开启允许跨域访问
isLive Boolean 播放内容是否为直播,直播时会禁止用户拖动进度条。默认值为false,播放直播流时需要设置为true
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隐藏所有功能组件。更多信息,请参见配置skinLayout属性
controlBarVisibility String 控制面板的实现,默认值为:hover。取值:
  • click:点击播放器区域。
  • hover:移动到播放器区域。
  • always:控制面板一直显示。
  • never:隐藏整个控制面板。
showBarTime String 控制栏自动隐藏时间,单位毫秒。
extraInfo String JSON串,用于定制性的接口参数,目前仅Flash支持,取值:
  • fullTitle:测试页面,全屏时显示视频标题。
  • m3u8BufferLength:播放HLS文件时加载缓存,ts文件长度,单位为秒。
enableSystemMenu Boolean 是否允许系统右键菜单显示,默认为false
format String 指定播放地址格式,只有使用vid的播放方式时支持可选值,取值:
  • mp4
  • hlsm3u8
  • flv
  • mp3
默认为空,仅H5支持。
mediaType String 指定返回音频还是视频,只有使用vid的播放方式时支持,默认值为video。取值:
  • video:视频。
  • audio:针对只包含音频的视频格式,比如音频的MP4。仅H5支持。
qualitySort String 指定排序方式,只有使用Vid + PlayAuth播放方式时支持。取值:
  • desc:表示按倒序排序(即:从大到小排序)。
  • asc:示按正序排序(即:从小到大排序)。
默认值:asc,仅H5支持。
definition String 显示视频清晰度,多个使用半角逗号(,)分隔,比如:‘FD,LD’,此值是vid对应流清晰度的一个子集,仅H5模式支持。取值:
  • FD(流畅)
  • LD(标清)
  • SD(高清)
  • HD(超清)
  • OD(原画)
  • 2K(2K)
  • 4K(4K)
defaultDefinition String 默认视频清晰度,此值是vid对应流的一个清晰度,仅H5模式支持。取值:
  • FD(流畅)
  • LD(标清)
  • SD(高清)
  • HD(超清)
  • OD(原画)
  • 2K(2K)
  • 4K(4K)
x5_type String 声明启用同层H5播放器,启用时取值:H5。更多信息,请参见如何启用H5的同层播放
x5_fullscreen Boolean 声明视频播放时是否进入到TBS的全屏模式,取值:
  • false:不把视频做为背景。
  • true:把视频做为背景。
默认值为false

更多信息,请参见如何启用H5的同层播放

x5_video_position String 声明视频播在界面上的位置,默认值为center。取值:
  • center:居中。
  • top:顶部。
更多信息,请参见如何启用H5的同层播放
x5_orientation String 声明TBS播放器支持的方向,取值:
  • landscape:横屏。
  • portrait:竖屏。
更多信息,请参见如何启用H5的同层播放
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截图功能。取值:
  • true:启用。
  • false:禁用。(默认值)
snapshotWatermark Object H5设置截图水印。
useHlsPluginForSafari Boolean Safari浏览器是否启用HLS插件播放,Safari 11除外。取值:
  • true:启用。
  • false:禁用。(默认值)
enableStashBufferForFlv Boolean H5播放FLV时,设置是否启用播放缓存,只在直播下起作用。取值:
  • true:启用。(默认值)
  • false:禁用。
stashInitialSizeForFlv Number H5播放FLV时,初始缓存大小,只在直播下起作用。默认32KB。

当设置的值较小时,会提升起播速度,但是值太小时,可能会导致播放一小段之后卡顿。

loadDataTimeout Number 缓冲多长时间后,提示用户切换低清晰度,单位:秒。默认20秒。
waitingTimeout Number 最大缓冲超时时间,超过这个时间会有错误提示,单位:秒。默认60秒。
diagnosisButtonVisible Boolean 是否显示检测按钮,取值:
  • true:显示按钮。
  • false:不显示按钮。
默认值为true
disableSeek Boolean 禁用进度条的Seek,取值:
  • true:禁用。
  • false:不禁用。
默认值为false
说明 仅Flash支持。
encryptType Number 设置是否播放阿里云视频加密(私有加密)视频,默认值为0,取值:
  • 0:播放不加密视频。
  • 1:播放私有加密视频。
说明
progressMarkers Array 进度条打点内容数组,更多信息,请参见进度条标记
vodRetry Number 点播失败重试次数,默认3次。
liveRetry Number 直播播放失败重试次数,默认5次。
hlsFrameChasing Boolean HLS直播模式下,是否开启追帧。取值:
  • true:开启追帧。
  • false:不开启追帧。(默认值)
chasingFirstParagraph Number 第一段追帧,单位:秒。默认20秒。
chasingSecondParagraph Number 第二段追帧,单位:秒。默认40秒。
chasingFirstSpeed Number 第一段追帧的倍速,默认1.1倍速。
chasingSecondSpeed Number 第二段追帧的倍速,默认1.2倍速。
flvFrameChasing Boolean FLV直播模式下,是否开启追帧,取值:
  • true:开启追帧。
  • false:不开启追帧。
默认值为false
keyShortCuts Boolean 是否启用快捷键,取值:
  • true:开启快捷键。
  • false:不开启快捷键。
默认值为false
说明 方向键(左右键)控制快进和快退,方向键(上下键)控制音量的增减,空格键暂停和播放。
keyFastForwardStep Number 快进快退的时间长度,单位:秒。默认10秒。
rtsFallbackSource String RTS的降级地址(如HLS地址或FLV地址)。

在使用超低延时直播RTS地址播放的场景下,当浏览器不兼容RTS或RTS拉流失败时,会自动降级到该地址播放。

rtsLoadDataTimeout Number 配置RTS拉取不到数据的超时时间(超时会重试),单位:毫秒。默认为3000毫秒。
mediaAuth String 通用媒体管理服务的视频播放凭证。

可以登录通用媒体管理服务控制台获取(路径:媒资管理 > 视频管理 > 管理 > 基础配置)。示例:pg89f1200baw94rmcky2e****

说明 Web播放器SDK 2.10.0及以上版本支持。
traceId String 传入公共埋点,便于跟踪日志。traceId为设备或用户的唯一标识符,通常为imei或idfa。
说明 Web播放器SDK 2.10.0及以上版本支持。
textTracks Array 设置WebVTT外挂字幕,示例如下:
textTracks: [{ kind: 'subtitles', label: '英文(美国)', src: '字幕地址', srclang: 'en-US' }],
字段解释如下:
  • kind:vtt类型,取值包括subtitles和captions。
  • label:用于显示的字幕名称。
  • srclang:字幕语言。
  • src:字幕地址,请允许跨域访问。
说明
  • Web播放器SDK 2.12.0及以上版本支持。
  • WebVTT外挂字幕暂不支持以下浏览器:
    • IE
    • 安卓QQ浏览器、OPPO/一加的系统浏览器
    • 其他劫持video标签的浏览器

方法

方法需要在ready事件发生之后或创建播放器ready回调里,H5模式下可以在创建播放器构造函数的回调函数里调用。示例如下:
  • H5播放器
    //H5 播放器
     var player = new Aliplayer({},function(player) {
        player.play();
     });
  • Flash播放器
    //Flash 播放器
     player.on('ready',function(e) {
        player.play();
     });
名称 参数 说明
play 播放视频。
pause 暂停视频。
replay 重播视频。
seek time 跳转到某个已加载的时刻进行播放,时间单位:秒。
getCurrentTime 获取当前的播放时刻,返回的时间单位:秒。
getDuration 获取视频总时长,返回的单位为秒,这个需要在视频加载完成以后才可以获取到,可以在play事件后获取。
getVolume 获取当前的音量,返回值为0~1的实数。iOS和部分Android会失效。
setVolume 设置音量,vol为0~1的实数,iOS和部分Android会失效。
loadByUrl url,time 直接播放视频url,time为可选值(单位:秒)。目前只支持同种格式(MP4、FLV、HLS)之间切换。暂不支持直播RTMP流切换。
replayByVidAndPlayAuth vid:视频ID,playauth:播放凭证 目前只支持H5播放器。暂不支持不同格式视频间的之间切换。暂不支持直播RTMP流切换。

可用于点播DRM流的切换,用法:player.replayByVidAndPlayAuth(vid)

replayByVidAndAuthInfo 仅MPS用户时使用参数顺序为:vid、accId、accSecret、stsToken、authInfo、domainRegion 目前只支持H5播放器。暂不支持不同格式视频间的之间切换。暂不支持直播rtmp流切换。
setPlayerSize w,h 设置播放器大小,取值:
  • 400px
  • 60%
Chrome浏览器下Flash播放器分别不能小于397x297px。
setSpeed speed 手动设置播放的倍速,支持0.5~2倍速播放,倍速播放仅H5模式支持。移动端可能会失效,比如Android微信。倍速播放UI默认是开启的。
说明 关掉倍速的方法:
  • 目前无法单独关闭或者自定义倍速,只能整体关掉设置。
  • 通过hack方式关掉倍速是通过样式覆盖来实现的:
     .prism-setting-speed {
        display: none !important;
      }
setSanpshotProperties width:宽度,height:高度,rate:截图质量 设置截图参数。
fullscreenService.requestFullScreen 播放器全屏,仅H5支持。
fullscreenService.cancelFullScreen 播放器退出全屏,iOS调用无效,仅H5支持。
fullscreenService.getIsFullScreen 获取播放器全屏状态,仅H5支持。
getStatus 获取播放器状态,取值:
  • init:初始化。
  • ready:准备。
  • loading:加载中。
  • play:播放。
  • pause:暂停。
  • playing:正在播放。
  • waiting:等待缓冲。
  • error:错误。
  • ended:结束。
setRotate rotate:旋转角度 参数为旋转角度,正数为正时针旋转,负数为逆时针旋转。示例:setRotate(90)。更多信息,请参见设置显示模式
getRotate 获取旋转角度。更多信息,请参见设置显示模式
setImage image:镜像类型 设置镜像,取值:
  • horizon:水平。
  • vertical:垂直。
示例:setImage(‘horizon’)。更多信息,请参见设置显示模式
dispose 播放器销毁。
setCover cover:封面地址 设置封面。
setProgressMarkers markers:打点数据集合 设置打点数据。
setPreviewTime time:试看时间 设置试看时间,单位:秒。更多信息,请参见试看
getPreviewTime 获取试看时间。
isPreview 是否试看。
getCurrentPDT HLS的视频格式支持实时获取ProgramDateTime。
replayByMediaAuth mediaAuth 使用mediaAuth播放通用媒体管理服务的视频,用法:player.replayByMediaAuth(mediaAuth)
说明 Web播放器SDK 2.10.0及以上版本支持。
setTraceId traceId:公共埋点 传入公共埋点,用于日志跟踪,用法:player.setTraceId(traceId);
说明 Web播放器SDK 2.10.0及以上版本支持。
setTextTracks textTracks 设置一组WebVTT字幕,示例如下:
player.setTextTracks([{ kind: 'subtitles', label: '英文(美国)', src: '字幕地址', srclang: 'en-US' }])
说明 Web播放器SDK 2.12.0及以上版本支持。

事件

播放器事件

名称 说明
ready 播放器视频初始化按钮渲染完毕。播放器UI初始设置需要此事件后触发,避免UI被初始化所覆盖。
说明 播放器提供的方法需要在该事件发生后才可以调用。
play 视频由暂停恢复为播放时触发。
pause 视频暂停时触发。
canplay 能够开始播放音频和视频时发生,会多次触发,仅H5播放器。
playing 播放中,会触发多次。
ended 当前视频播放完毕时触发。
liveStreamStop 直播流中断时触发。HLS、FLV、RTMP在重试5次未成功后触发。提示上层流中断或需要重新加载视频。
说明 如果HLS、FLV、RTMP的直播流断流或者出错,播放器会自动重试5次,不需要上层添加重试逻辑。
onM3u8Retry HLS直播流中断后重试事件,每次断流只触发一次。
hideBar 控制栏自动隐藏事件。
showBar 控制栏自动显示事件。
waiting 数据缓冲事件。
timeupdate 播放位置发生改变时触发,仅H5模式播放器。可通过getCurrentTime方法,得到当前播放时间。
snapshoted 截图完成事件。
requestFullScreen 全屏事件,仅H5模式支持。
cancelFullScreen 取消全屏事件,iOS下不会触发,仅H5模式支持。
error 错误事件。
startSeek 开始拖拽,参数返回拖拽点的时间。
completeSeek 完成拖拽,参数返回拖拽点的时间。
resolutionChange 直播情况下,推流端切换了分辨率。
seiFrame HLS或FLV收到SEI消息。
rtsFallback 当RTS降级时触发。其中,参数reason为降级的原因,fallbackUrl为降级到的地址。
订阅事件
  • 通过播放器实例的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 返回的播放地址为空。
4100 信令请求失败。
4110 不支持webrtc。
4111 不支持此浏览器。
4112 浏览器版本过低。
4113 不支持H264。
4114 create offer失败。
4115 自动播放失败。
4116 播放URL协议错误。
4118 订阅时候传入的HtmlElement既不是Audio也不是Video。
4200 播放失败。
4400 未知错误MEDIA_ERR_SRC_NOT_SUPPORTED(由于服务器或网络原因不能加载资源,或者格式不支持)。
4500 服务端请求错误,查看Network里点播服务的请求的具体错误。