更新记录
1.8(2023-10-13)
修复插件Android端录屏用video播放没有声音问题。
1.7(2023-08-23)
增加插件视频录制取消回调事件onCancel
1.6(2023-07-25)
增加ios端锁定屏幕方向更新布局接口lockAntiScreenOrientation(o)。
查看更多平台兼容性
| Android | Android CPU类型 | iOS | 
|---|---|---|
| 适用版本区间:5.0 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:11 - 17 | 
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
 - 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
 - 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
 - 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
 - 开发完毕后正式云打包
 
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios    
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
录屏、截屏、保存相册、防录屏截屏uniapp原生插件接口说明
1. 获取插件对象
<script>
    //插件对象
    var Screen = uni.requireNativePlugin('Yam-Screen');
    var that;
    export default {
        data() {
        },
        onLoad() {
        }
    }
</script>
2. 检查权限并授权
//检查权限并授权
Screen.checkPermission(function(res){
    console.log(res);
    if (res.result == true) {
        //成功
    }
});
3. 设置录屏音频
//设置录屏音频
var enable = true;//true:开启音频 false:关闭音频
Screen.setAudioEnabled(enable);
4. 开始录屏
startScreenRecordWithFile() {
    //开始录屏
    var videoPath = plus.io.convertLocalFileSystemURL('_doc/screen_capture_video.mp4');
    Screen.setAudioEnabled(true);//true:开启音频 false:关闭音频
    Screen.startScreenRecordWithFile(videoPath, function(res){
        console.log(res);
        if (res.type == "onSuccess") {
            //录屏成功,保存视频到相册
            var path = res.data;
            Screen.saveVideoToAlbum(path);
        } else if (res.type == "onFailed") {
            //失败
        } else if (res.type == "onCancel") {
            //取消
        }
    });
}
5. 停止录屏
//停止录屏
Screen.stopScreenRecord();
6. 截屏
takeScreenShotWithFile() {
    //截屏
    var imagePath = plus.io.convertLocalFileSystemURL("_doc/screen_shot_img.jpg");
    Screen.takeScreenShotWithFile(imagePath, function(res){
        console.log(res);
        if (res.type == "onSuccess") {
            //截屏成功,保存图片到相册
            var path = res.data;
            Screen.saveImageToAlbum(path);
        } else if (res.type == "onFailed") {
            //失败
        }
    });
}
7. 保存图片到相册
//保存图片到相册
var path = plus.io.convertLocalFileSystemURL("_doc/screen_shot_img.jpg");
Screen.saveImageToAlbum(path);
8. 保存视频到相册
//保存视频到相册
var path = plus.io.convertLocalFileSystemURL('_doc/screen_capture_video.mp4');
Screen.saveVideoToAlbum(path);
9. 开启防录屏截屏
注:iOS平台需要iOS13以上有效
//开启防录屏截屏
Screen.openAntiRecordScreen();
10. 关闭防录屏截屏
注:iOS平台需要iOS13以上有效
//关闭防录屏截屏
Screen.closeAntiRecordScreen();
11. 监听截屏录屏回调,仅iOS11以上支持
//监听截屏录屏回调
Screen.setScreenCallback(function(res){
    console.log(res);
    if (res.type == "onScreenShot") {
        //监听截屏回调事件
    } else if (res.type == "onScreenCapturedDidChange")) {
        //监听屏幕录制回调事件
        var isCaptured = res.data;//true:正在录制 false:停止录制
    }
});
12. 判断是否在屏幕录制,仅iOS11以上支持
//判断是否在屏幕录制
var ret = Screen.isCaptured();//true:正在录制 false:停止录制
13. 打开相册、图片预览或其他原生界面时开启防录屏,仅android支持
//打开相册、图片预览或其他原生界面时开启防录屏截屏,仅android支持
Screen.setAntiActivityList([
    "io.dcloud.feature.nativeObj.photoview.PhotoActivity",
    //"io.dcloud.WebAppActivity",
    //"io.dcloud.ProcessMediator",
    //"io.dcloud.WebviewActivity",
    "com.dmcbig.mediapicker.PickerActivity",
    "com.dmcbig.mediapicker.PreviewActivity",
    "io.dcloud.feature.gallery.imageedit.IMGEditActivity"//,
    //"io.dcloud.sdk.activity.WebViewActivity",
    //"com.taobao.weex.devtools.toolbox.PerformanceActivity",
    //"com.blankj.utilcode.util.PermissionUtils$PermissionActivity"
]);
//设置空即可关闭防录屏截屏
Screen.setAntiActivityList([]);
14. 设置录屏通知相关配置,仅android支持
if (uni.getSystemInfoSync().platform == 'android') {
    //设置录屏通知配置,仅android支持
    Screen.setRecordConfig({
        contentTitle:"默认app名称",
        contentText:"正在录屏"
    });
}
15. 锁定屏幕方向更新布局接口,仅ios支持
plus.screen.lockOrientation('landscape-primary');
if (uni.getSystemInfoSync().platform == 'ios') {
    //锁定屏幕方向更新布局接口,仅ios支持
    Screen.lockAntiScreenOrientation(2);//2:锁定横屏 1:锁定竖屏 0:取消锁定
}
                                        
                                                                    
                                                                        收藏人数:
                                    
                                                        购买(
                                                                                                                试用
                                                    
                                            使用 HBuilderX 导入示例项目
                                        
                                        赞赏(0)
                                    
                                            
 下载 3005
                
 赞赏 2
                
            
                    下载 12289 
                
            
            
            
            
            
            
            
            
            
            
                        赞赏 7 
                    
            
            
            
            
                        
                                赞赏
                            
            
京公网安备:11010802035340号