更新记录

1.1.4(2023-07-19)

  1. 移除多余 AAR

1.1.2(2023-07-14)

  1. 适配android 部分设备手势滑动亮度问题

1.1.1(2023-07-11)

  1. android 调整样式和整体风格对齐 iOS 稍微有点区别
查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:6.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:11 - 16

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


播放器代码标签

<template>
    <div>
        <BenBen-VideoPlayer ref="video" videoEvent='videoGlobalEvent' style='width:390;height:210'
        :data='configData' ></BenBen-VideoPlayer>
        <button @click="play"> 播放 </button>
        <button @click="pause"> 暂停 </button>
        <button @click="seek"> 跳转 </button>
        <button @click="updateResource"> 切换视频源 </button>
        <button @click="full"> 全屏播放 </button>
        <button @click="exitFull"> 退出全屏 </button>
        <button @click="remove"> 移除播放器 </button>
        <button @click="getDuration"> 获取时长</button>
        <button @click="getIsFull"> 获取是否是全屏</button>
    </div>
</template>

监听事件

let data = {
        showBackButton: false, //返回按钮是否显示小屏幕
        autoPlay: true, //自动播放 默认ture
        data: [{
            vid: '10086', //选填
            title: 'airpods新品发布会',
            index: '01', //选填
            thumb: 'http://leyin.njzb.vip/uploads/images/21/b7162cc8c5f2f672f79eb79330609b.jpg',
            url: 'https://media.w3.org/2010/05/sintel/trailer.mp4',
            danmu:[
                {
                    time: '10',
                    text: '随机增加一条弹幕'
                },
                {
                    time: '18',
                    text: '撒满族乡才能装招贤纳才吗,牛仔裤类型错了你看擦擦时空来电'
                }
            ]
        }]
    };

    const modal = uni.requireNativePlugin('modal');
    export default {
        data() {
            return {
                configData: data
            }
        },
        onLoad() {

        },
        onReady() {
            //事件监听
            //0 小屏状态下返回按钮点击 
            //1 正在播放 
            //2 暂停
            //3 准备播放
            //4 大小屏切换 
            //5 播放结束 
            //6 跳转结束 
            //7 播放进度 
            //8 播放错误 
            var globalEvent = weex.requireModule('globalEvent');            
            globalEvent.addEventListener('videoGlobalEvent', function(e) {
                let code = e.code;
                let detail = e.detail;
                // modal.toast({
                //     message: JSON.stringify(e),
                //     duration: 1.5
                // });
                if (code == 0) {
                    uni.navigateBack({
                        delta: 1,
                        animationType: 'pop-out',
                        animationDuration: 200
                    })
                } else if (code == 1) {

                } else if (code == 2) {

                } else if (code == 3) {

                }
            })
        },

调用事件

        methods: {
            play() {
                this.$refs.video.play()
            },

            pause() {
                this.$refs.video.pause()
            },

            seek() {
                this.$refs.video.seek({
                    'time':15  //跳转事件 单位秒
                }) 
            },

            updateResource() {
                this.$refs.video.updateResource({
                    data: [{
                        vid: '10086',
                        title: '视频播放器component',
                        index: '02',
                        thumb: 'http://leyin.njzb.vip/uploads/images/b3/27b0ede30df691749d29f9797e0229.jpeg',
                        url: 'https://media.w3.org/2010/05/sintel/trailer.mp4',
                        danmu:[
                            {
                                time: '34',
                                text: '这是一个新的视频'
                            },
                            {
                                time: '55',
                                text: '苹果十大贫困没看你看你家后备箱打了卡大叔大妈那是'
                            }
                        ]
                    }]
                })
            },

            full() {
                this.$refs.video.full()
            },

            remove() {
                this.$refs.video.remove()
            },

            getDuration() {
                this.$refs.video.getDuration({

                    },
                    (ret) => {
                        uni.showModal({
                            title: '提示',
                            content: "getDuration: " + JSON.stringify(ret)
                        })
                    }
                )
            },

            getIsFull() {
                this.$refs.video.getIsFull({

                    },
                    (ret) => {
                        uni.showModal({
                            title: '提示',
                            content: "getIsFull: " + JSON.stringify(ret)
                        })
                    }
                )
            }

        }

隐私、权限声明

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

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

插件不采集任何数据

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

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