原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/androidiOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
awxhVideo 简介
uni-app 原生端(Android)爱玩小灰视频播放器插件。支持调整显示比例,滑动调节播放进度、声音、亮度,双击播放、暂停,重力感应自动进入/退出全屏以及手动进入/退出全屏,倍速播放的视频组件。
功能列表
- [x] 调整显示比例
- [x] 滑动调节播放进度、声音、亮度
- [x] 双击播放、暂停
- [x] 重力感应自动进入/退出全屏以及手动进入/退出全屏
- [x] 倍速播放
- [ ] 视频截图
- [ ] 列表小窗全局悬浮播放
- [ ] 连续播放一个列表的视频
- [ ] 广告播放
- [ ] 边播边缓存
- [ ] 弹幕
- [ ] 多路播放器同时播放
- [ ] 没有任何控制UI的纯播放
- [ ] Android 8.0画中画
- [ ] 无缝衔接播放
- [ ] 抖音,实现预加载
使用教程
API | 说明 |
---|---|
start | 开始播放 |
pause | 暂停播放 |
resume | 继续播放 |
replay | 重新播放 |
release | 释放播放器 |
getinfo | 获取视频信息 |
start | 开始播放 |
pause | 暂停播放 |
start | 开始播放 |
pause | 暂停播放 |
set | 设置视频参数 |
startFullScreen | 进入全屏 |
stopFullScreen | 退出全屏 |
startTinyScreen | 开启小屏 |
stopTinyScreen | 退出小屏 |
setRotation | 画面旋转 |
事件称名 | 说明 | 返回参数 |
---|---|---|
@onPlayerStateChanged | 监听播放器状态改变触发事件 | e |
@onPlayStateChanged | 监听播放状态改变触发事件 | e |
引用方式
参数
options {Object} 相关选项
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
thumb | string | 否 | 视频缩略图 | |
title | string | 否 | 视频标题 | |
src | string | 是 | 视频播放地址 | |
isLive | boolean | false | 否 | 是否直播 |
API
start()
播放视频
参数
- 无
示例
this.$refs.videoView1.start();
pause()
暂停播放视频
参数
- 无
示例
this.$refs.videoView1.pause();
resume()
继续播放视频
参数
- 无
示例
this.$refs.videoView1.resume();
replay()
重新播放视频
参数
- 无
示例
this.$refs.videoView1.replay();
release()
释放播放器
参数
- 无
示例
this.$refs.videoView1.release();
getinfo(options,callback)
获取视频播放信息
参数
- 空对象
回调方法
callback {function (result)}
没有监听
1.触发回调方法返回 result{Object}
格式
属性 | 类型 | 说明 |
---|---|---|
Duration | string | 获取视频总时长 |
CurrentPosition | string | 获取当前播放的位置 |
BufferedPercentage | string | 获取当前缓冲百分比 |
CurrentPlayerState | string | 获取当前播放器的状态 |
CurrentPlayState | string | 获取当前的播放状态 |
TcpSpeed | string | 获取缓冲速度 |
width | string | 获取视频宽 |
height | string | 获取视频高 |
示例
this.$refs.videoView1.getinfo({}, ret => {
a.ret = ret;
const msg = JSON.stringify(ret);
uni.showModal({
title: '提示',
content: msg,
success: function(res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
});
set()
设置视频
参数
options {Object} 相关选项
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
value | string | 是 | 设置标识符 |
value{string} 可选值
值 | 说明 |
---|---|
scale_default | 默认大小 |
scale_169 | 16:9 |
scale_43 | 4:3 |
scale_original | 原始大小 |
scale_match_parent | 填充 |
scale_center_crop | 居中裁剪 |
speed_0_5 | 0.5倍速 |
speed_0_75 | 0.75倍速 |
speed_1_0 | 1倍速 |
speed_1_5 | 1.5倍速 |
speed_2_0 | 2倍速 |
mirror_rotate | 镜像旋转 |
btn_mute | 静音 |
qx_mute | 取消静音 |
示例
this.$refs.videoView1.set('scale_default');
startFullScreen()
进入全屏
参数
示例
this.$refs.videoView1.startFullScreen();
stopFullScreen()
退出全屏
参数
- 无
示例
this.$refs.videoView1.stopFullScreen();
startTinyScreen()
开启小屏
参数
- 无
示例
this.$refs.videoView1.startTinyScreen();
stopTinyScreen()
退出小屏
参数
- 无
示例
this.$refs.videoView1.stopTinyScreen();
setRotation()
画面旋转
参数
options {Object} 相关选项
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
rotation | string | 是 | 旋转角度 |
示例
this.$refs.videoView1.setRotation({
rotation: '90'
});
监听事件
事件称名 | 说明 | 返回参数 |
---|---|---|
onPlayerStateChanged | 监听播放器状态改变触发事件 | e |
onPlayStateChanged | 监听播放状态改变触发事件 | e |
onPlayerStateChanged示例
onPlayerStateChanged(e) {
this.PlayerState = e.detail.playerState;
},
onPlayStateChanged示例
onPlayStateChanged(e) {
this.PlayState = e.detail.playState;
},
playerState{int} 状态值
值 | 说明 |
---|---|
10 | 普通播放器 |
11 | 全屏播放器 |
12 | 小屏播放器 |
playState{int} 可选值
值 | 说明 |
---|---|
-1 | 播放错误 |
0 | 空闲 |
1 | 准备 |
2 | 已准备 |
3 | 播放 |
4 | 暂停播放 |
5 | 播放完毕 |
6 | 缓冲 |
7 | 已缓冲 |
8 | 开始播放中止 |
示例
播放状态:{{ PlayState }}
播放器状态:{{ PlayerState }}