replay

概述

本插件封装了录制屏幕操作,同时录制声音,提供相册和沙盒路径两种视频保存选择。startReplayKit接口调用的是苹果在 iOS 9.0 中新添加的 ReplayKit 库,相比start接口调用的录屏功能性能较好,耗用CPU较低,但仅支持系统iOS 9.0及以上。

注意

  • 本插件android 平台上最低支持系统版本为 5.0
  • 本插件iOS 平台上最低适配系统版本为 iOS 8.0
  • 本插件startReplayKit和stopReplayKit接口iOS 平台上最低适配系统版本为 iOS 9.0
  • start接口和startReplayKit接口不可同时调用
  • iOS端 APP进入后台(用户按下home键)时录屏无效,不支持后台屏幕录像

注意 本插件android 录屏结束后,在音频和视频合成过程中,某些机型上存在合成失败现象,此问题在原始库(github mp4parser)中有开发提出,原作者没有给出c库报此问题的解决方案,因此此问题没有办法解决

start

开始录屏(ios用户按下home键退出APP再次进入后录屏会停止并保存录屏文件到相册根目录)

start(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:获取结果
  • 内部字段:
{
    localIdentifier:'',               支持ios //字符类型;按下home键再次进入app视频文件在系统相册中的标识}

示例代码

var replay = api.require('replay');
replay.start(function(ret) {
  api.alert({ msg:JSON.stringify(ret)}); 
});

可用性

iOS系统 android系统

可提供的1.0.0及更高版本

stopAlbum

停止录屏(调用本接口停止录屏视频文件会存入相册中)

stopAlbum({params},callback(ret))

params

folderName:

  • 类型:字符
  • 描述:视频存入相册文件夹名称,创建失败视频将存入相册根路径
  • 默认:YonBuilder移动开发

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:获取结果
  • 内部字段:
{
    status: true ,          //布尔类型;视频是否保存成功,true|false
    localIdentifier:'',     //字符类型;视频文件在系统相册中的标识 (ios)
    path:''                 //字符类型;视频文件路径 (android)            
}

示例代码

var replay = api.require('replay');
replay.stopAlbum({
   folderName:'YonBuilder移动开发'
},function(ret) {
  api.alert({ msg:JSON.stringify(ret)}); 
});

可用性

iOS系统 android 系统

可提供的1.0.0及更高版本

stopShahe

停止录屏(ios调用本接口停止录屏视频文件会存入沙盒并返回文件路径)

stopShahe(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:获取结果
  • 内部字段:
{
    status: true ,          //布尔类型;视频是否保存成功,true|false
    path:'',                //字符类型;视频文件路径          
}

示例代码

var replay = api.require('replay');
replay.stopShahe(function(ret) {
  api.alert({ msg:JSON.stringify(ret)}); 
});

可用性

iOS系统 android系统

可提供的1.0.0及更高版本

startReplayKit

开始录屏(调用iOS ReplayKi SDK,录屏结束后会弹出回放的预览页面,在预览中可以选择保存视频到相册中、放弃、或者分享出去,不能保存在沙盒路径中,当APP推入后台时录屏将暂停,再次进入APP后录屏恢复。注意本接口在iPhone设备上仅支持 iOS9.0 及以上版本。)

startReplayKit(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:创建群返回结果
  • 内部字段:
{
    status: true ,          //布尔类型;是否开始成功,true|false
    msg:''                  //字符类型;错误原因
}

示例代码

var replay = api.require('replay');
replay.startReplayKit(function(ret) {
    if(ret.status)
    api.alert('开始录屏成功');
    else
    api.alert({ msg:JSON.stringify(ret.msg)});
});

可用性

iOS系统

可提供的1.0.0及更高版本

stopReplayKit

停止录屏(调用iOS ReplayKi Sdk,注意本接口在iPhone设备上仅支持 iOS9.0 及以上版本。)

stopReplayKit(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:创建群返回结果
  • 内部字段:
{
    status: true ,          //布尔类型;是否停止成功,true|false
    msg:''                  //字符类型;错误原因
}

示例代码

var replay = api.require('replay');
replay. stopReplayKit(function(ret) {
    if(ret.status)
    api.alert('停止录屏成功');
    else
    api.alert({ msg:JSON.stringify(ret.msg)});
});

可用性

iOS系统

可提供的1.0.0及更高版本

clearPath

清除沙盒下路径所有视频资源,android清除录制默认路径下所有视频资源

clearPath()

示例代码

var replay = api.require('replay');
replay.clearPath();

可用性

iOS系统 android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2