1 Star 1 Fork 1

天钰 / UniYXVideo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
android使用.txt 11.55 KB
一键复制 编辑 原始数据 按行查看 历史
timfeng 提交于 2021-02-01 11:25 . update
使用方法
原生组件只能在 nvue 页面或者 nvue子窗体 中使用
基于网易云信开发的SDK
闪退时请检查是否有摄像头和录音权限。
小部分安卓可能本来就存在几率闪退,正常手机一般不会出现闪退。
所有接口都基于 预览窗口 组件,按照下面引用方式,使用 this.$refs 调用
引用方式
复制代码<Fvv-UniYXVideo ref="videoTest" style="width:100px;height:100px"></Fvv-UniYXVideo>
API
//初始化sdk和预览界面
init(options,callback)
initCustom(options,callback)
stopPreview()
//推流录像
startStream(options)
pauseVideoLiveStream()
resumeVideoLiveStream()
stopStream()
screenShot(savePath)
//滤镜相关
setFilterType(filterType)
setFilterStrength(int)
setBeautyLevel(int)
//镜头相关
setCameraFlashPara(bool)
setCameraFocus()
setCameraAutoFocus(bool)
switchCamera()
changeCaptureFormat(options)
changeCaptureCustom(options)
setPreviewMirror(bool)
setVideoMirror(bool)
//缩放相关
getCameraZoomValue()
getCameraMaxZoomValue()
setCameraZoomPara(int)
//曝光相关
getExposureCompensation()
getMinExposureCompensation()
getMaxExposureCompensation()
setExposureCompensation(int)
//伴音相关
startPlayMusic(options)
stopPlayMusic()
pausePlayMusic()
resumePlayMusic()
//水印相关
watermark(options)
removeWatermark()
watermarkGif()
removeWaterMarkGif()
setWaterPreview()
setDynamicWaterPreview()
//其他
checkPublishPermission()
初始化sdk和预览界面
init(options,callback)
参数说明
参数 类型 必填 说明
options object 是 初始化参数
callback function 否 消息回调
options
参数 类型 必填 说明
frontCamera bool 否 是否前置摄像头,默认false
isScale_16x9 bool 否 界面是否16:9,默认false
useFilter bool 否 是否使用滤镜,默认true
zoom bool 否 是否支持手势缩放,默认true
videoQuality string 否 清晰度,默认HIGH,可选MEDIUM,SUPER_HIGH,SUPER,HD1080P
uploadLog bool 否 设置是否上传日志
callback(object)
参数 类型 说明
object.code int 回调码,参考 云信回调状态码,这里添加了小部分状态码
object.data object/string 回调内容
示例
复制代码this.$refs.videoTest.init({
zoom:true,
isScale_16x9:false,
},(callback) => {
this.ret += (JSON.stringify(callback) + "\r\n")
})
初始化sdk和自定义预览界面
initCustom(options,callback)
参数说明
参数 类型 必填 说明
options object 是 初始化参数
callback function 否 消息回调
options
参数 类型 必填 说明
frontCamera bool 否 是否前置摄像头,默认false
useFilter bool 否 是否使用滤镜,默认true
zoom bool 否 是否支持手势缩放,默认true
width int 否 宽度分辨率,默认1024
height int 否 高度分辨率,默认768
fps int 否 帧率,默认24
bitrate int 否 码率,默认 width × height × fps × 9 /100
uploadLog bool 否 设置是否上传日志
callback(object)
参数 类型 说明
object.code int 回调码,参考 云信回调状态码,这里添加了小部分状态码
object.data object/string 回调内容
示例
复制代码this.$refs.videoTest.initCustom({
zoom:true,
width:500,
height:500,
},(callback) => {
this.ret += (JSON.stringify(callback) + "\r\n")
})
停止预览
stopPreview()
示例
复制代码this.$refs.videoTest.stopPreview()
开始推流
startStream(options)
参数说明
options
参数 类型 必填 说明
url string 否 推流地址,只录像时可随便写
save string 否 录像地址,录像时用
streamType string 否 推流类型,默认AV音视频,可选AUDIO只推音频,VIDEO只推视频
formatType string 否 推流格式,默认RTMP_AND_MP4推流并录像,RTMP只推流,MP4只录像
示例
复制代码this.$refs.videoTest.startStream({
url:"rtmp://you rtmp url",
save:"/sdcard/2.mp4",
//streamType:"AV",
//formatType:"RTMP_AND_MP4"
})
暂停推流
pauseVideoLiveStream()
示例
复制代码this.$refs.videoTest.pauseVideoLiveStream()
恢复推流
resumeVideoLiveStream()
示例
复制代码this.$refs.videoTest.resumeVideoLiveStream()
停止推流
stopStream()
示例
复制代码this.$refs.videoTest.stopStream()
截图
screenShot(path)
回调到初始化的函数(object)
参数 类型 说明
code int 37
data string 保存的图片路径
示例
复制代码this.$refs.videoTest.screenShot("/sdcard/1.jpg")
设置滤镜
setFilterType(filterType)
参数说明
参数 类型 必填 说明
filterType string 否 默认none,可选 NATURE,FAIRYTALE,TENDER,WHITEN,CALM,CLEAN,PIXAR,BROOKLYN,HEALTHY
示例
复制代码this.$refs.videoTest.setFilterType("FAIRYTALE")
滤镜强度
setFilterStrength(int)
参数说明
参数 类型 必填 说明
int int 否 设置滤镜强度 0 - 100
示例
复制代码this.$refs.videoTest.setFilterStrength(100)
磨皮强度
setBeautyLevel(int)
参数说明
参数 类型 必填 说明
int int 否 设置磨皮强度 0 - 100
示例
复制代码this.$refs.videoTest.setBeautyLevel(100)
闪光灯
setCameraFlashPara(bool)
参数说明
参数 类型 必填 说明
bool bool 否 设置闪光灯开关
示例
复制代码this.$refs.videoTest.setCameraFlashPara(true)
手动对焦一次
setCameraFocus()
示例
复制代码this.$refs.videoTest.setCameraFocus()
自动对焦开关
setCameraAutoFocus(bool)
参数说明
参数 类型 必填 说明
bool bool 否 设置自动对焦开关,默认已开
示例
复制代码this.$refs.videoTest.setCameraAutoFocus(false)
切换摄像头
switchCamera()
示例
复制代码this.$refs.videoTest.switchCamera()
切换分辨率
changeCaptureFormat(options)
参数说明
参数 类型 必填 说明
options object 是 分辨率参数
options
参数 类型 必填 说明
isScale_16x9 bool 否 界面是否16:9,默认false
videoQuality string 否 清晰度,默认HIGH,可选MEDIUM,SUPER_HIGH,SUPER,HD1080P
示例
复制代码this.$refs.videoTest.changeCaptureFormat({
isScale_16x9:true,
videoQuality:"MEDIUM"
})
切换自定义分辨率
changeCaptureCustom(options)
参数说明
参数 类型 必填 说明
options object 是 分辨率参数
options
参数 类型 必填 说明
width int 否 宽度分辨率,默认1024
height int 否 高度分辨率,默认768
fps int 否 帧率,默认24
bitrate int 否 码率,默认 width × height × fps × 9 /100
示例
复制代码this.$refs.videoTest.changeCaptureCustom({
width:800,
height:800
})
本地预览镜像
setPreviewMirror(bool)
参数说明
参数 类型 必填 说明
bool bool 否 设置本地预览镜像开关
示例
复制代码this.$refs.videoTest.setPreviewMirror(true)
推流镜像
setVideoMirror(bool)
参数说明
参数 类型 必填 说明
bool bool 否 设置推理镜像开关
示例
复制代码this.$refs.videoTest.setVideoMirror(true)
获取当前缩放比例
getCameraZoomValue()
回调到初始化的函数(object)
参数 类型 说明
code int 300
data int 当前缩放比例
示例
复制代码this.$refs.videoTest.getCameraZoomValue()
获取支持最大缩放比例
getCameraMaxZoomValue()
回调到初始化的函数(object)
参数 类型 说明
code int 301
data int 支持最大缩放比例
示例
复制代码this.$refs.videoTest.getCameraMaxZoomValue()
设置摄像头缩放
setCameraZoomPara(int)
参数说明
参数 类型 必填 说明
int int 否 设置镜头缩放,不要超出支持的比例
示例
复制代码this.$refs.videoTest.setCameraZoomPara(0)
获取当前镜头曝光比例
getExposureCompensation()
回调到初始化的函数(object)
参数 类型 说明
code int 302
data int 当前镜头曝光比例
示例
复制代码this.$refs.videoTest.getExposureCompensation()
获取支持最小曝光比例
getMinExposureCompensation()
回调到初始化的函数(object)
参数 类型 说明
code int 303
data int 支持最小曝光比例
示例
复制代码this.$refs.videoTest.getMinExposureCompensation()
获取支持最大曝光比例
getMaxExposureCompensation()
回调到初始化的函数(object)
参数 类型 说明
code int 304
data int 支持最大曝光比例
示例
复制代码this.$refs.videoTest.getMaxExposureCompensation()
设置镜头曝光
setExposureCompensation(int)
参数说明
参数 类型 必填 说明
int int 否 设置镜头曝光,不要超出支持的比例
示例
复制代码this.$refs.videoTest.setExposureCompensation(0)
播放伴音
startPlayMusic(options)
参数说明
options
参数 类型 必填 说明
path bool 否 伴音文件路径,默认false
loop bool 否 是否循环播放,默认false
示例
复制代码this.$refs.videoTest.startPlayMusic({
path:"/sdcard/fvv.mp3",
loop:true
})
结束伴音
stopPlayMusic()
示例
复制代码this.$refs.videoTest.stopPlayMusic()
暂停伴音
pausePlayMusic()
示例
复制代码this.$refs.videoTest.pausePlayMusic()
恢复伴音
resumePlayMusic()
示例
复制代码this.$refs.videoTest.resumePlayMusic()
添加水印
watermark(options)
参数说明
options
参数 类型 必填 说明
path string 否 图片路径
w int 否 水印图片宽度,默认0,0为自适应
h int 否 水印图片高度,默认0,0为自适应
x int 否 水印图片距离左边距离
y int 否 水印图片距离上边距离
示例
复制代码this.$refs.videoTest.watermark({
path:"/sdcard/1.png",
w:100,
x:100,
y:100,
})
移除水印
removeWatermark()
示例
复制代码this.$refs.videoTest.removeWatermark()
添加GIF水印
watermarkGif(options)
参数说明
options
参数 类型 必填 说明
path string 否 图片路径
w int 否 水印图片宽度,默认0,0为自适应
h int 否 水印图片高度,默认0,0为自适应
x int 否 水印图片距离左边距离
y int 否 水印图片距离上边距离
fps int 否 一秒多少帧,默认0,0为一秒播完GIF图
示例
复制代码this.$refs.videoTest.watermarkGif({
path:"/sdcard/1.gif",
w:100,
x:100,
y:100,
})
移除GIF水印
removeWaterMarkGif()
示例
复制代码this.$refs.videoTest.removeWaterMarkGif()
本地是否显示水印
setWaterPreview(bool)
参数说明
参数 类型 必填 说明
bool bool 否 本地预览界面是否显示水印,默认true
示例
复制代码this.$refs.videoTest.setWaterPreview(false)
本地是否显示GIF水印
setDynamicWaterPreview(bool)
参数说明
参数 类型 必填 说明
bool bool 否 本地预览界面是否显示GIF水印,默认true
示例
复制代码this.$refs.videoTest.setDynamicWaterPreview(false)
检查权限
checkPublishPermission()
回调到初始化的函数(object)
参数 类型 说明
code int 202
data bool true,false
示例
复制代码this.$refs.videoTest.checkPublishPermission()
隐私、权限声明
1. 本插件需要申请的系统权限列表:
允许挂载和反挂载文件系统,允许程序向外部存储设备写数据,允许程序打开网络套接字,允许程序获取网络相关信息,允许程序向外部存储设备写数据,允许程序写音频数据,允许程序使用PowerManager WakeLocks以防止处理器休眠或者屏幕锁屏,允许程序获取Wifi网络状态信息,允许程序使用设备的camera ,允许程序使用闪光灯,允许程序获得设备信息,声明程序使用camera和自动对焦功能,详细可参考 https://dev.yunxin.163.com/docs/product/直播/推流端SDK/Android推流SDK/开发指南?pos=toc-1-1-2
2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:
本插件自身不会采集任何数据,但插件使用的网易云信SDK会采集SDk日志数据,详情可参考:https://dev.yunxin.163.com/docs/product/直播/推流端SDK/Android推流SDK/开发指南?#总体参数介绍
3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:
Objective-C
1
https://gitee.com/gdteyu/UniYXVideo.git
git@gitee.com:gdteyu/UniYXVideo.git
gdteyu
UniYXVideo
UniYXVideo
master

搜索帮助