iOS 10 系统的 ReplayKit 保存录屏视频的基础上,增加了视频流实时直播功能(streaming live),第三方广播服务可以将广播出来的直播流进行分发和直播。第三方广播服务需要实现对应用程序扩展。广播UI扩展提供了一个用户界面,允许用户登录到服务。登录成功后可以使用第三方的服务实现直播流的分发和直播。broadcastList插件封装了打开当前设备支持屏幕直播的 App 列表。
iOS 12 系统支持 App 内打开系统自带录屏功能,录制的视频可保存到系统相册,也可以指定支持录屏的直播的 App(通过preferredExtension参数实现)。本插件即封装了打开录屏功能的按钮,可指定按钮的位置大小和图片。
注意:本功能只支持在 iOS 12.0 及以上版本的设备
关于AVM方式
本插件支持 AVM 方式打开。通过 AVM 标签方式打开的插件,打开后会显示一个默认的按钮图标。
示例:
<mo-screenRecording id="startScreenRecording"></mo-screenRecording>
该插件同时也支持 api.require 方式调用,通过 open 接口相当于 AVM 的标签打开了一个按钮插件。通过 open 接口打开的按钮插件,可自定义一张按钮图片,可覆盖系统自带的默认按钮图片。
Android使用说明
android平台调用open后会弹出一个红色按钮,点击按钮即可开始录屏,再次点击即可停止录屏,调用close会从屏幕移除该按钮,注意:该录屏插件只能在android 5.0及以上平台上使用(注意:该插件需要悬浮窗权限)
显示一个打开录屏功能的按钮
open({params})
rect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w:30, //(可选项)数字类型;插件宽度(相对于所属的 Window 或 Frame;默认:100%;默认:30
h:30 //(可选项)数字类型;插件高度(相对于所属的 Window 或 Frame;默认:100%;默认:30
}
fixedOn:
fixed:
buttonImg:
showsMicrophoneButton:
preferredExtension:
var screenRecording = api.require('screenRecording');
screenRecording.open({
rect:{
x:100,
y:150,
w:200,
h:200
},
fixedOn:api.frameName,
fixed:false,
//buttonImg:'widget://res/c.png',
showsMicrophoneButton:true,
//preferredExtension:'com.apicloud.saoifa'
});
iOS & Android系统
可提供的 1.0.0 及更高版本
从屏幕中移除录屏按钮
close()
var screenRecording = api.require('screenRecording');
screenRecording.close();
Android 系统
可提供的 1.0.0 及更高版本