更新记录
                                                                                                    
                                                    
                                                        1.1.0(2022-11-16)
                                                        
                                                    
                                                    1、解决android高版本系统无法保存图片问题
                                                                                                    
                                                    
                                                        1.0.0(2021-11-29)
                                                        
                                                    
                                                    初次发布插件
                                                                                                                                                
                                            
                                                                                                                                                        平台兼容性
                                                                                                                    
| Android | 
Android CPU类型 | 
iOS | 
| 适用版本区间:5.0 - 14.0 | 
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 
× | 
                                                                                                                                                        
                                            原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
 
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
Android带截图功能且无任何控制UI的视频播放器,视频截图,空白视频播放器,无控制功能视频播放器,视频播放器(插件有问题请联系QQ:1684729125)
插件仅支持Android版本,此插件可在nvue页面中使用
不要勾选manifest.json文件的App模块配置里的VideoPlayer(视频播放),添加uniapp自带的VideoPlayer模块会与本插件打包冲突,目前只能二选一
其他视频相关插件
截图请求参数说明
| 参数 | 
说明 | 
示例 | 
| imagePath | 
图片保存文件夹名称 | 
shotImg | 
| imageName | 
图片保存名称 | 
test1628666711531.jpg | 
组件参数说明
| 参数 | 
说明 | 
| mute | 
是否静音 | 
| loop | 
是否循环播放,只有初始化时设置有效,后续更改状态无效 | 
回调参数说明
| 参数 | 
说明 | 
示例 | 
| code | 
结果码 | 
200 | 
| shotImagePath | 
封面图片路径 | 
xxx.jpg | 
| msg | 
错误信息 | 
保存图片的地址不能为空 | 
结果码参数说明
| Code | 
说明 | 
| 200 | 
获取成功(不是200均为获取失败) | 
| 402 | 
保存图片的地址不能为空 | 
| 403 | 
保存图片的名字不能为空 | 
| 404 | 
图片保存失败 | 
| 405 | 
其他错误 | 
| 406 | 
截图失败 | 
使用插件代码如下
<template>
    <view class="content">
        <emptyControlVideoPlayer class="shot-img-palyer" ref="videoPlayer" :mute="isMute" :loop="isLoop" :resource="playerResouce"></emptyControlVideoPlayer>
        <view class="opt-box"><text class="opt__shot" @tap="doScreenshot">截图</text></view>
    </view>
</template>
<script>
export default {
    data() {
        return {
            isLoop: true, //控制是否循环播放,只有初始化时设置有效,后续更改状态无效
            isMute: false, //是否静音播放
            playerResouce: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/a876efc0-4f35-11eb-97b7-0dc4655d6e68.mp4'
        };
    },
    methods: {
        /**
         * 截图
         */
        doScreenshot() {
            let that = this;
            this.$refs.videoPlayer.shotImage(
                {
                    imagePath: 'shotPlayer', //图片保存文件夹名称
                    imageName: 'shot' + new Date().getTime() + '.jpg' //图片保存名称
                },
                ret => {
                    if (ret && ret.code == 200) {
                        console.log('===========================');
                        console.log('=====成功result: ', ret);
                        console.log('===========================');
                        uni.showToast({
                            title: '成功: ' + ret.shotImagePath,
                            mask: true,
                            duration: 1500,
                            icon: 'none'
                        });
                    } else {
                        console.log('===========================');
                        console.log('=====失败result: ', ret);
                        console.log('===========================');
                        uni.showToast({
                            title: '失败: ' + ret.msg,
                            mask: true,
                            duration: 1500,
                            icon: 'none'
                        });
                    }
                }
            );
        }
    }
};
</script>
<style>
.content {
    width: 750rpx;
    align-items: center;
}
.shot-img-palyer {
    width: 750rpx;
    height: 400rpx;
}
.opt-box {
    margin: 30rpx;
    align-items: center;
    justify-content: center;
}
.opt__shot {
    width: 240rpx;
    height: 120rpx;
    border-radius: 26rpx;
    line-height: 120rpx;
    text-align: center;
    background-color: #007aff;
    color: #ffffff;
    font-size: 38rpx;
}
</style>