更新记录

1.3.0(2022-11-17)

1、解决android高版本系统无法保存图片问题等。

1.2.0(2022-05-17)

播放时新增适配播放直播流格式

1.1.0(2022-03-30)

解决打包出错,优化已知问题。

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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带截图功能视频播放器,视频截图,视频播放器(插件有问题请联系QQ:1684729125)

插件仅支持Android版本,此插件可在nvue页面中使用

播放器新增支持直播流,有问题可QQ联系作者

截图请求参数说明

参数 说明 示例
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">
        <shotImgPlayer class="shot-img-palyer" ref="shotImgPlayer" :mute="isMute" :loop="isLoop" :resource="playerResouce"></shotImgPlayer>
        <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.shotImgPlayer.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>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问