alivcLivePlayer

来自于:官方立即使用

initPlayer prepareToPlay prepareAndPlay play stop pause seekTo destroy reset resize setTimeOut setCirclePlay getCurrentPosition getDuration setPlaySpeed snapShot setRenderRotate setRenderMirrorMode setVolume setMuteMode setScreenBrightness setVideoScalingMode addEventListener setOnErrorListener

概述

概述

该模块封装了阿里云播放器基础版,提供播放视频的基础能力,仅支持URL的方式播放,建议使用阿里云CDN+OSS存储或使用其他第三方服务的用户使用。

系统要求

  • ios:

    • SDK支持iOS 8.0及以上版本系统
  • Android:

    • SDK支持Android 4.3及以上版本

注意

1.使用该模块时需要使用升级后的编译环境,请在云编译的时候勾选“使用升级环境编译”,并且在控制台 “高级设置” 中将固件版本设置为 4.0.3或以上

2.当前SDK仅支持HLS、RTMP、HTTP FLV、mp4、mp3等流格式,支持的视频编码格式为H264,音频编码格式为AAC。建议使用MTS或点播平台转码后使用。

3.适配iPhone5S以上机型,低端机型在使用变速功能时可能存在性能问题。

initPlayer

初始化播放器

initPlayer({params},callback(ret))

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)预览窗口的位置及大小
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w:300, //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
  5. h:600 //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
  6. }

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. status : true //初始化是否成功,iOS上没有此回调
  3. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.initPlayer(function(ret){
  3. alert(JSON.stringify(ret));
  4. })

prepareToPlay

准备播放

prepareToPlay({params},callback(ret))

params

url:

  • 类型:字符串
  • 描述:播放url

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. status : true // 预览界面是否打开成功
  3. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.prepareToPlay(function(ret){
  3. alert(JSON.stringify(ret));
  4. })

prepareAndPlay

(安卓需要调用此方法才能正常播放,该接口仅支持安卓,1.0.4版本后不再支持该接口)

准备播放

prepareAndPlay({params},callback(ret))

params

url:

  • 类型:字符串
  • 描述:播放url

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. status : true // 预览界面是否打开成功
  3. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.prepareAndPlay();

play

播放

play()

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.play()

stop

停止播放

stop()

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.stop();

pause

暂停播放

pause()

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.pause();

seekTo

跳转到指定时间点播放

seekTo({params})

params

position:

  • 类型:数字类型
  • 描述:播放的指定位置

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.seekTo({
  3. position:10000
  4. });

destroy

销毁播放器

destroy()

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.destroy();

reset

重置播放器

reset()

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.reset();

resize

重设播放器的大小

resize({params})

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)预览窗口的位置及大小
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w:300, //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
  5. h:600 //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
  6. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.resize({
  3. rect:{
  4. x:0,
  5. y:0,
  6. w:300,
  7. h:300
  8. }
  9. });

setTimeOut

设置网络超时时间(仅支持ios)

setTimeOut({params})

params

time:

  • 类型:数字类型
  • 描述:网络超时时间

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setTimeOut({
  3. time:10000
  4. });

setCirclePlay

循环播放设置

setCirclePlay({params})

params

isCirclePlay:

  • 类型:布尔类型
  • 描述:是否循环播放

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setCirclePlay({
  3. isCirclePlay:true
  4. });

getCurrentPosition

获取当前播放位置

getCurrentPosition(callback(ret))

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. position : 10000 // 当前播放位置
  3. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.getCurrentPosition(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

getDuration

获取视频长度

getDuration(callback(ret))

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. duration : 10000 //视频长度
  3. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.getDuration(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

setPlaySpeed

倍数播放支持0.5~2倍的设置,支持音频变速不变调

setPlaySpeed({params})

params

speed:

  • 类型:数字类型(浮点类型)
  • 描述:倍速
  • 取值范围:0.5~2

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setPlaySpeed({
  3. speed:1.0
  4. });

snapShot

截图

snapShot({params},callback(ret))

params

path:

  • 类型:字符串
  • 描述:截图保存路径(如果路径无效会保存失败)只支持fs://等本地路径

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. status : true //是否保存成功
  3. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.snapShot({
  3. path:'fs://test/tt.jpg'
  4. },function(ret){
  5. alert(JSON.stringify(ret));
  6. })

setRenderRotate

设置视频画面旋转角度,支持0°,90°,180°,270°设置,默认0°,角度按顺时针方向计算

setRenderRotate({params})

params

rotate:

  • 类型:数字类型
  • 描述:画面旋转角度
  • 取值范围:
    • 0
    • 90
    • 180
    • 270

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setRenderRotate({
  3. rotate:90
  4. });

setRenderMirrorMode

setRenderMirrorMode({params})

支持设置画面镜像,包括水平镜像和垂直镜像。默认为无镜像

params

mode:

  • 类型:字符串
  • 描述:画面镜像模式
  • 取值范围:
    • vertical
    • horizontal
    • none

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setRenderMirrorMode({
  3. mode:'vertical'
  4. });

setVolume

setVolume({params})

音量设置

params

volume:

  • 类型:数字类型
  • 描述:音量
  • 取值范围:0~100

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setVolume({
  3. volume:50
  4. });

setMuteMode

setMuteMode({params})

静音设置

params

: isMute

  • 类型:布尔类型
  • 描述:是否静音

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setMuteMode({
  3. isMute:true
  4. });

setScreenBrightness

setMuteMode({params})

设置屏幕亮度 (1.0.4 版本之后不再支持该接口)

params

brightness:

  • 类型:数字类型
  • 描述:屏幕亮度
  • 取值范围: 0~100

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setScreenBrightness({
  3. brightness:30
  4. });

setVideoScalingMode

setVideoScalingMode({params})

设置显示模式

params

scalingMode:

  • 类型:字符串类型
  • 描述:显示模式
  • 取值范围:
    • fit
    • corp

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setVideoScalingMode({
  3. scalingMode:'fit'
  4. });

addEventListener

addEventListener()

添加播放器监听事件

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. eventType : 'prepared' // 准备完成
  3. // 首帧显示 frameInfoListener
  4. // 播放完成 complete
  5. // seek完成 seekCompleted
  6. // stop触发 stop
  7. // 循环播放 circleStart
  8. // 开始缓冲 startCache (仅支持iOS)
  9. // 结束缓冲 endCache (仅支持iOS)
  10. // 音频焦点失去 audioFocusLost (仅支持Android)
  11. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.addEventListener(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

setOnErrorListener

setOnErrorListener()

异常监听 (错误码及错误信息请参考阿里云 官方文档

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. code: 0,
  3. msg: ''
  4. }

示例代码

  1. var alivcLivePlayer = api.require('alivcLivePlayer');
  2. alivcLivePlayer.setOnErrorListener(function(ret){
  3. alert(JSON.stringify(ret));
  4. });