直播过程中需要不断的拉流进行播放,遇到网络突然中断的情况时,直播推流中断会中断;此时因为播放器拉流失败无法正常播放而导致播放器会播放失败。当直播恢复推流恢复时候,播放器需要自动恢复拉流来自动恢复直播播放。综合了常用的播放器做对比,对比结果如下:
初始化直播播放器
参数 | 类型 | 默认值 | 参数说明 |
---|---|---|---|
m3u8 | String | 无 | 原画 M3U8 播放 URL。 |
m3u8_hd | String | 无 | 高清 M3U8 播放 URL。 |
m3u8_sd | String | 无 | 标清 M3U8 播放 URL。 |
flv | String | 无 | 原画 FLV 播放 URL。 |
flv_hd | String | 无 | 高清 FLV 播放 URL。 |
flv_sd | String | 无 | 标清 FLV 播放 URL。 |
mp4 | String | 无 | 原画 MP4 播放 URL。 |
mp4_hd | String | 无 | 高清 MP4 播放 URL。 |
mp4_sd | String | 无 | 标清 MP4 播放 URL。 |
rtmp | String | 无 | 原画 RTMP 播放 URL。 示例:rtmp://xxxxxxxxxxxxxxx_ |
rtmp_hd | String | 无 | 高清 RTMP 播放 URL。 示例:rtmp://xxxxxxxxxxxxxxxx_hd |
rtmp_sd | String | 无 | 标清 RTMP 播放 URL。 示例:rtmp://xxxxxxxxxxxxxxxxx_sd |
width | Number | 无 | 必选,设置播放器宽度,单位为像素。 示例:640 |
height | Number | 无 | 必选,设置播放器高度,单位为像素。 示例:480 |
volume | Number | 0.5 | 设置初始音量,范围:0 到 1 [v2.2.0+]。 示例:0.6 |
live | Boolean | false | 必选,设置视频是否为直播类型,将决定是否渲染时间轴等控件,以及区分点直播的处理逻辑。 |
autoplay | Boolean | false | 是否自动播放。(备注:该选项只对大部分 PC 平台生效) |
poster | String / Object | 无 | 预览封面,可以传入一个图片地址或者一个包含图片地址 src 和显示样式 style 的对象。 |
方法 | 参数 | 返回值 | 说明 | 示例 |
---|---|---|---|---|
play() | 无 | 无 | 开始播放视频。 | player.play() |
pause() | 无 | 无 | 暂停播放视频。 | player.pause() |
togglePlay() | 无 | 无 | 切换视频播放状态 。 | player.togglePlay() |
mute(muted) | {Boolean} [可选] | true,false {Boolean} | 切换静音状态,不传参则返回当前是否静音。 | player.mute(true) |
volume(val) | {int} 范围:0 到 1 [可选] | 范围:0 到 1 | 设置音量,不传参则返回当前音量 。 | player.volume(0.3) |
playing() | 无 | true,false {Boolean} | 返回是否在播放中 。 | player.playing() |
duration() | 无 | {int} | 获取视频时长 。 | |
(备注:只适用于点播,需要在触发 loadedmetadata 事件后才可获取视频时长) | player.duration() | |||
currentTime(time) | {int} [可选] | {int} | 设置视频播放时间点,不传参则返回当前播放时间点 。 | |
(备注:只适用于点播 ) | player.currentTime() | |||
fullscreen(enter) | {Boolean} [可选] | true,false {Boolean} | 调用全屏接口(Fullscreen API),不支持全屏接口时使用伪全屏模式,不传参则返回值当前是否是全屏。 | |
(备注:移动端系统全屏没有提供 API,也无法获取系统全屏状态 ) | player.fullscreen(true) | |||
buffered() | 无 | 0 到 1 | 获取视频缓冲数据百分比。 (备注:只适用于点播) | player.buffered() |
destroy() | 无 | 无 | 销毁播放器实例[v2.2.1+]。 | player.destroy() |
switchClarity() | {String}[必选] | 无 | 切换清晰度,传值 "od"、"hd"、"sd" [v2.2.1+]。 | player.switchClarity('od') |
load(url) | {String}[必选] | 无 | 通过视频地址加载视频。 | |
(备注:该方法只能加载对应播放模式下支持的视频格式,Flash 模式支持切换 RTMP、FLV、HLS 和 MP4 ,H5 模式支持 MP4、HLS 和 FLV(HLS、FLV 取决于浏览器是否支持)[v2.2.2+]) | player.load([http://xxx.mp4](http://xxx.mp4) ) |
Code | 提示语 | 说明 |
---|---|---|
1 | 网络错误,请检查网络配置或者播放链接是否正确。 | H5 提示的错误。 |
2 | 网络错误,请检查网络配置或者播放链接是否正确。 | 视频格式 Web 播放器无法解码。 |
H5 提示的错误。 | ||
3 | 视频解码错误。 | H5 提示的错误。 |
4 | 当前系统环境不支持播放该视频格式。 | H5 提示的错误。 |
5 | 当前系统环境不支持播放该视频格式。 | 播放器判断当前浏览器环境不支持播放传入的视频,可能是当前浏览器不支持 MSE 或者 Flash 插件未启用。 |
10 | 请勿在 file 协议下使用播放器,可能会导致视频无法播放。 | - |
11 | 使用参数有误,请检查播放器调用代码。 | - |
12 | 请填写视频播放地址。 | - |
13 | 直播已结束,请稍后再来。 | RTMP 正常播放过程中触发事件(NetConnection.Connect.Closed)。Flash 提示的错误。 |
1001 | 网络错误,请检查网络配置或者播放链接是否正确。 | 网络已断开(NetConnection.Connect.Closed)。Flash 提示的错误。 |
1002 | 获取视频失败,请检查播放链接是否有效。 | 拉取播放文件失败(NetStream.Play.StreamNotFound),可能是服务器错误或者视频文件不存在。Flash 提示的错误。 |
2032 | 获取视频失败,请检查播放链接是否有效。 | Flash 提示的错误。 |
2048 | 无法加载视频文件,跨域访问被拒绝。 | 请求 M3U8 文件失败,可能是网络错误或者跨域问题。Flash 提示的错误。 |