Record Screen

/ Title: recordScreen Description: recordScreen /

论坛示例

作者联系方式QQ:503870798 ;有不解的地方可以随时咨询,同时欢迎提供有效意见和建议

概述

简介

本模块主要进行安卓手机的屏幕录制,附带屏幕截图功能,Android5.0版本以上适用(其中pause、resume功能需要Android7.0版本以上)。 编译的时候,记得使用升级环境编译。

模块接口

init

检查权限,然后请求创建一个录屏请求,系统会弹出一个询问框,用户授权后才可以进行录制和截屏 权限动态申请在Android6.0版本后,apicloud的默认targetSdkVersion是22,所以权限检查无效,需要设置编译的targetSdkVersion>=23,设置方法,参考https://developer.yonyou.com/thread-110959-1-1.html

init({}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回执行结果
  • 返回执行结果的内部字段:
    {
      status: true,           //布尔类型;操作成功状态值,true|false
      msg: "OK",     //字符串类型;文字描述
    }
    

示例代码

var recordScreen = api.require('recordScreen');
recordScreen.init({},function(ret){
    alert(JSON.stringify(ret))
});

可用性

Android系统

可提供的1.0.0及更高版本

start

开始录屏,需要在init后调用 执行开始录屏操作时,如果录屏正在继续,会先停止录屏,再重新按新传入的配置执行录屏

start({params}, callback(ret, err))

params

path:

  • 类型:字符串
  • 默认值:""
  • 描述:录制的视频存放的路径

width:

  • 类型:数值
  • 默认值:1080
  • 描述:视频分辨率-宽

height:

  • 类型:数值
  • 默认值:1920
  • 描述:视频分辨率-高

dpi:

  • 类型:数值
  • 默认值:1
  • 描述:DPI

bitrate:

  • 类型:数值
  • 默认值:1024*1024
  • 描述:比特率

fps:

  • 类型:数值
  • 默认值:60
  • 描述:FPS

orientation:

  • 类型:数值
  • 默认值:0
  • 描述:视频方向,指顺时针旋转的角度,可选值:0、90、180、270

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回执行结果
  • 返回执行结果的内部字段:
    {
      status: true,           //布尔类型;操作成功状态值,true|false
      msg: "操作成功",     //字符串类型;文字描述
      path: "/storage/emulated/0/recordScreen/2022-03-25-10-49-22.mp4",     //保存的文件完整路径
    }
    

示例代码

recordScreen.start({
    path: '/recordScreen'
},function(ret){
    alert(JSON.stringify(ret))
});

可用性

Android系统

可提供的1.0.0及更高版本

stop

停止录屏,需要在init后调用 停止录屏后才可以使用保存的视频文件

stop({}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回执行结果
  • 返回执行结果的内部字段:
    {
      status: true,           //布尔类型;操作成功状态值,true|false
      msg: "操作成功",     //字符串类型;文字描述
    }
    

示例代码

but1.onclick = function(){
    recordScreen.stop({}, function(ret){
        alert(JSON.stringify(ret))
    })
}

可用性

Android系统

可提供的1.0.0及更高版本

pause

暂停录屏,需要在init后调用,且录屏正在进行 要求Android7.0版本以上才能使用此功能

stop({}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回执行结果
  • 返回执行结果的内部字段:
    {
      status: true,           //布尔类型;操作成功状态值,true|false
      msg: "操作成功",     //字符串类型;文字描述
    }
    

示例代码

but2.onclick = function(){
    recordScreen.pause({}, function(ret){
        alert(JSON.stringify(ret))
    })
}

可用性

Android系统

可提供的1.0.0及更高版本

resume

继续录屏,需要在init后调用,且录屏处于暂停 要求Android7.0版本以上才能使用此功能

stop({}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回执行结果
  • 返回执行结果的内部字段:
    {
      status: true,           //布尔类型;操作成功状态值,true|false
      msg: "操作成功",     //字符串类型;文字描述
    }
    

示例代码

but3.onclick = function(){
    recordScreen.resume({}, function(ret){
        alert(JSON.stringify(ret))
    })
}

可用性

Android系统

可提供的1.0.0及更高版本

release

释放录屏进程,下次录屏,需要再次调用init然后询问用户操作 执行释放操作时,如果录屏正在继续,会先停止录屏,再释放

release({}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回执行结果
  • 返回执行结果的内部字段:
    {
      status: true,           //布尔类型;操作成功状态值,true|false
      msg: "操作成功",     //字符串类型;文字描述
    }
    

示例代码

but4.onclick = function(){
    recordScreen.release({}, function(ret){
        alert(JSON.stringify(ret))
    })
}

可用性

Android系统

可提供的1.0.0及更高版本

imgCapture

截屏,需要在init后调用

imgCapture({params}, callback(ret, err))

params

path:

  • 类型:字符串
  • 默认值:""
  • 描述:截屏的图片存放的路径

width:

  • 类型:数值
  • 默认值:1080
  • 描述:图片分辨率-宽

height:

  • 类型:数值
  • 默认值:1920
  • 描述:图片分辨率-高

dpi:

  • 类型:数值
  • 默认值:1
  • 描述:DPI

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回执行结果
  • 返回执行结果的内部字段:
    {
      status: true,           //布尔类型;操作成功状态值,true|false
      msg: "操作成功",     //字符串类型;文字描述
      path: "/storage/emulated/0/recordScreen/2022-03-25-10-49-22-785.png",     //保存的文件完整路径
    }
    

示例代码

but5.onclick = function(){
    recordScreen.imgCapture({
        path: "/recordScreen"
    }, function(ret){
        alert(JSON.stringify(ret))
    })
}

可用性

Android系统

可提供的1.0.0及更高版本