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

属性

说明
  • 如果您在使用过程中遇见问题,可以参考Web播放器常见问题
  • 更多SDK咨询问题,可搜索钉钉群号2720012141入群咨询专家。
名称类型说明
idString播放器外层容器的dom元素ID。
sourceString使用URL播放方式时,通过source属性来指定视频播放地址URL。
说明
  • URL播放方式的播放优先级最高,高于VID+PlayAuth、STS等其他播放方式,即使用VID+PlayAuth、STS等其他播放方式时,不能指定source属性,若指定了source属性,播放器将优先选择source中的地址播放。建议仅设置一种播放方式。
  • URL播放方式支持多清晰度设置,通过source属性来指定多路清晰度流的地址,更多信息,请参见多清晰度播放。示例如下:
    source:’{“HD”:”address1”,”SD”:”address2”}’
vidString媒体转码服务的媒体ID。
playauthString播放凭证,获取播放凭证请参见获取音视频播放凭证
heightString播放器高度,取值:
  • 100%
  • 100px
说明 Chrome浏览器下Flash播放器分别不能小于397x297px。
widthString播放器宽度,取值:
  • 100%
  • 100px
说明 Chrome浏览器下Flash播放器分别不能小于397x297px。
videoWidthString视频宽度,仅H5模式支持。更多信息,请参见设置显示模式
videoHeightString视频高度,仅H5模式支持。更多信息,请参见设置显示模式
preloadBoolean播放器自动加载,目前仅H5模式可用。
coverString播放器默认封面图片,请填写正确的图片URL地址。需要autoplay值为false时,才生效。Flash播放器封面也需要开启允许跨域访问
isLiveBoolean播放内容是否为直播,直播时会禁止用户拖动进度条。默认值为false,播放直播流时需要设置为true
autoplayBoolean播放器是否自动播放,在移动端autoplay属性会失效。
说明 Safari11不支持自动播放,如果需要,可通过右键单击浏览器地址栏,选择此网站的设置 > 允许全部自动播放来设置。
rePlayBoolean播放器自动循环播放。
useH5PrismBoolean指定使用H5播放器。
useFlashPrismBoolean指定使用Flash播放器。
playsinlineBooleanH5是否内置播放,有的Android浏览器不起作用。
skinResUrl皮肤图片,不建议随意修改该字段,如要修改,更多信息,请参见设置播放器皮肤
skinLayoutArray | Boolean功能组件布局配置,不传该字段使用默认布局。取值:false隐藏所有功能组件。更多信息,请参见配置skinLayout属性
controlBarVisibilityString控制面板的实现,默认值为:hover。取值:
  • click:点击播放器区域。
  • hover:移动到播放器区域。
  • always:控制面板一直显示。
  • never:隐藏整个控制面板。
showBarTimeString控制栏自动隐藏时间,单位毫秒。
extraInfoStringJSON串,用于定制性的接口参数,目前仅Flash支持,取值:
  • fullTitle:测试页面,全屏时显示视频标题。
  • m3u8BufferLength:播放HLS文件时加载缓存,ts文件长度,单位为秒。
enableSystemMenuBoolean是否允许系统右键菜单显示,默认为false
formatString指定播放地址格式,只有使用vid的播放方式时支持可选值,取值:
  • mp4
  • hlsm3u8
  • flv
  • mp3
默认为空,仅H5支持。
mediaTypeString指定返回音频还是视频,只有使用vid的播放方式时支持,默认值为video。取值:
  • video:视频。
  • audio:针对只包含音频的视频格式,比如音频的MP4。仅H5支持。
qualitySortString指定排序方式,只有使用Vid + PlayAuth播放方式时支持。取值:
  • desc:表示按倒序排序(即:从大到小排序)。
  • asc:示按正序排序(即:从小到大排序)。
默认值:asc,仅H5支持。
definitionString显示视频清晰度,多个使用半角逗号(,)分隔,比如:‘FD,LD’,此值是vid对应流清晰度的一个子集,仅H5模式支持。取值:
  • FD(流畅)
  • LD(标清)
  • SD(高清)
  • HD(超清)
  • OD(原画)
  • 2K(2K)
  • 4K(4K)
defaultDefinitionString默认视频清晰度,此值是vid对应流的一个清晰度,仅H5模式支持。取值:
  • FD(流畅)
  • LD(标清)
  • SD(高清)
  • HD(超清)
  • OD(原画)
  • 2K(2K)
  • 4K(4K)
x5_typeString声明启用同层H5播放器,启用时取值:H5。更多信息,请参见如何启用H5的同层播放
x5_fullscreenBoolean声明视频播放时是否进入到TBS的全屏模式,取值:
  • false:不把视频做为背景。
  • true:把视频做为背景。
默认值为false

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

x5_video_positionString声明视频播在界面上的位置,默认值为center。取值:
  • center:居中。
  • top:顶部。
更多信息,请参见如何启用H5的同层播放
x5_orientationString声明TBS播放器支持的方向,取值:
  • landscape:横屏。
  • portrait:竖屏。
更多信息,请参见如何启用H5的同层播放
x5LandscapeAsFullScreenString声明TBS全屏播放是否横屏,默认值为true。取值:
  • true:横屏。
  • false:竖屏。
autoPlayDelayNumber延迟播放时间,单位:秒。更多信息,请参见配置延迟播放
autoPlayDelayDisplayTextString延迟播放提示文本,更多信息,请参见配置延迟播放
languageString国际化,默认为zh-cn。如果未设置,则采用浏览器语言。取值:
  • zh-cn:中文。
  • en-us:英文。
languageTextsJSON自定义国际化文本JSON结构,key的值需要和language属性值对应起来。示例:{jp:{Play:”Play”}}自定义值请参见JSON结构
snapshotBoolean是否启用Flash截图功能。取值:
  • true:启用。
  • false:禁用。(默认值)
snapshotWatermarkObjectH5设置截图水印。
useHlsPluginForSafariBooleanSafari浏览器是否启用HLS插件播放,Safari 11除外。取值:
  • true:启用。
  • false:禁用。(默认值)
enableStashBufferForFlvBooleanH5播放FLV时,设置是否启用播放缓存,只在直播下起作用。取值:
  • true:启用。(默认值)
  • false:禁用。
stashInitialSizeForFlvNumberH5播放FLV时,初始缓存大小,只在直播下起作用。默认32KB。

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

loadDataTimeoutNumber缓冲多长时间后,提示用户切换低清晰度,单位:秒。默认20秒。
waitingTimeoutNumber最大缓冲超时时间,超过这个时间会有错误提示,单位:秒。默认60秒。
diagnosisButtonVisibleBoolean是否显示检测按钮,取值:
  • true:显示按钮。
  • false:不显示按钮。
默认值为true
disableSeekBoolean禁用进度条的Seek,取值:
  • true:禁用。
  • false:不禁用。
默认值为false
说明 仅Flash支持。
encryptTypeNumber设置是否播放阿里云视频加密(私有加密)视频,默认值为0,取值:
  • 0:播放不加密视频。
  • 1:播放私有加密视频。
说明
progressMarkersArray进度条打点内容数组,更多信息,请参见进度条标记
vodRetryNumber点播失败重试次数,默认3次。
liveRetryNumber直播播放失败重试次数,默认5次。
hlsFrameChasingBooleanHLS直播模式下,是否开启追帧。取值:
  • true:开启追帧。
  • false:不开启追帧。(默认值)
chasingFirstParagraphNumber第一段追帧,单位:秒。默认20秒。
chasingSecondParagraphNumber第二段追帧,单位:秒。默认40秒。
chasingFirstSpeedNumber第一段追帧的倍速,默认1.1倍速。
chasingSecondSpeedNumber第二段追帧的倍速,默认1.2倍速。
flvFrameChasingBooleanFLV直播模式下,是否开启追帧,取值:
  • true:开启追帧。
  • false:不开启追帧。
默认值为false
keyShortCutsBoolean是否启用快捷键,取值:
  • true:开启快捷键。
  • false:不开启快捷键。
默认值为false
说明 方向键(左右键)控制快进和快退,方向键(上下键)控制音量的增减,空格键暂停和播放。
keyFastForwardStepNumber快进快退的时间长度,单位:秒。默认10秒。
rtsFallbackSourceStringRTS的降级地址(如HLS地址或FLV地址)。

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

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

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

说明 Web播放器SDK 2.10.0及以上版本支持。
traceIdString传入公共埋点,便于跟踪日志。traceId为设备或用户的唯一标识符,通常为imei或idfa。
说明 Web播放器SDK 2.10.0及以上版本支持。
textTracksArray设置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重播视频。
seektime跳转到某个已加载的时刻进行播放,时间单位:秒。
getCurrentTime获取当前的播放时刻,返回的时间单位:秒。
getDuration获取视频总时长,返回的单位为秒,这个需要在视频加载完成以后才可以获取到,可以在play事件后获取。
getVolume获取当前的音量,返回值为0~1的实数。iOS和部分Android会失效。
setVolume设置音量,vol为0~1的实数,iOS和部分Android会失效。
loadByUrlurl,time直接播放视频url,time为可选值(单位:秒)。目前只支持同种格式(MP4、FLV、HLS)之间切换。暂不支持直播RTMP流切换。
replayByVidAndPlayAuthvid:视频ID,playauth:播放凭证目前只支持H5播放器。暂不支持不同格式视频间的之间切换。暂不支持直播RTMP流切换。

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

replayByVidAndAuthInfo仅MPS用户时使用参数顺序为:vid、accId、accSecret、stsToken、authInfo、domainRegion目前只支持H5播放器。暂不支持不同格式视频间的之间切换。暂不支持直播rtmp流切换。
setPlayerSizew,h设置播放器大小,取值:
  • 400px
  • 60%
Chrome浏览器下Flash播放器分别不能小于397x297px。
setSpeedspeed手动设置播放的倍速,支持0.5~2倍速播放,倍速播放仅H5模式支持。移动端可能会失效,比如Android微信。倍速播放UI默认是开启的。
说明 关掉倍速的方法:
  • 目前无法单独关闭或者自定义倍速,只能整体关掉设置。
  • 通过hack方式关掉倍速是通过样式覆盖来实现的:
     .prism-setting-speed {
        display: none !important;
      }
setSanpshotPropertieswidth:宽度,height:高度,rate:截图质量设置截图参数。
fullscreenService.requestFullScreen播放器全屏,仅H5支持。
fullscreenService.cancelFullScreen播放器退出全屏,iOS调用无效,仅H5支持。
fullscreenService.getIsFullScreen获取播放器全屏状态,仅H5支持。
getStatus获取播放器状态,取值:
  • init:初始化。
  • ready:准备。
  • loading:加载中。
  • play:播放。
  • pause:暂停。
  • playing:正在播放。
  • waiting:等待缓冲。
  • error:错误。
  • ended:结束。
setRotaterotate:旋转角度参数为旋转角度,正数为正时针旋转,负数为逆时针旋转。示例:setRotate(90)。更多信息,请参见设置显示模式
getRotate获取旋转角度。更多信息,请参见设置显示模式
setImageimage:镜像类型设置镜像,取值:
  • horizon:水平。
  • vertical:垂直。
示例:setImage(‘horizon’)。更多信息,请参见设置显示模式
dispose播放器销毁。
setCovercover:封面地址设置封面。
setProgressMarkersmarkers:打点数据集合设置打点数据。
setPreviewTimetime:试看时间设置试看时间,单位:秒。更多信息,请参见试看
getPreviewTime获取试看时间。
isPreview是否试看。
getCurrentPDTHLS的视频格式支持实时获取ProgramDateTime。
replayByMediaAuthmediaAuth使用mediaAuth播放通用媒体管理服务的视频,用法:player.replayByMediaAuth(mediaAuth)
说明 Web播放器SDK 2.10.0及以上版本支持。
setTraceIdtraceId:公共埋点传入公共埋点,用于日志跟踪,用法:player.setTraceId(traceId);
说明 Web播放器SDK 2.10.0及以上版本支持。
setTextTrackstextTracks设置一组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次,不需要上层添加重试逻辑。
onM3u8RetryHLS直播流中断后重试事件,每次断流只触发一次。
hideBar控制栏自动隐藏事件。
showBar控制栏自动显示事件。
waiting数据缓冲事件。
timeupdate播放位置发生改变时触发,仅H5模式播放器。可通过getCurrentTime方法,得到当前播放时间。
snapshoted截图完成事件。
requestFullScreen全屏事件,仅H5模式支持。
cancelFullScreen取消全屏事件,iOS下不会触发,仅H5模式支持。
error错误事件。
startSeek开始拖拽,参数返回拖拽点的时间。
completeSeek完成拖拽,参数返回拖拽点的时间。
resolutionChange直播情况下,推流端切换了分辨率。
seiFrameHLS或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播放格式不支持。
4012playauth解析错误。
4013播放数据解码错误MEDIA_ERR_DECODE,检测浏览器是否支持视频格式。
4014网络不可用。
4015获取数据过程被中止MEDIA_ERR_ABORTED。
4016播网络错误加载数据失败MEDIA_ERR_NETWORK。
4017返回的播放地址为空。
4100信令请求失败。
4110不支持webrtc。
4111不支持此浏览器。
4112浏览器版本过低。
4113不支持H264。
4114create offer失败。
4115自动播放失败。
4116播放URL协议错误。
4118订阅时候传入的HtmlElement既不是Audio也不是Video。
4200播放失败。
4400未知错误MEDIA_ERR_SRC_NOT_SUPPORTED(由于服务器或网络原因不能加载资源,或者格式不支持)。
4500服务端请求错误,查看Network里点播服务的请求的具体错误。