0.0.6 • Published 5 years ago

react-native-living-pushing v0.0.6

Weekly downloads
4
License
ISC
Repository
github
Last release
5 years ago

阿里云直播SDK-RN版阿里云直播SDK

注意仅支持IOS8以上,不支持安卓

当前sdk版本:3.4.1

目录

安装

npm install --save react-native-living-pushing

react-native link react-native-living-pushing

1.在项目中info.plist需要设置权限, Privacy - Camera Usage Description 、Privacy - Microphone Usage Description

2.如果需要设置后台直播,则需要开启后台权限

3.禁止bitcode

4.在项目根目录下新建文件夹,用于放置阿里云依赖包:

- AlivcLibFace.framework
- AlivcLibBeauty.framework
- AliyunPlayerSDK.framework
- AliyunThirparty.framework
- AlivcLivePusher.framework
- AlivcLibRtmp.framework
- AlivcLibFaceResource.bundle
- AliyunLanguageSource.bundle

5.从 {project src}/node_modules/react-native-living-pushing/ios/lib需要引用aliyun SDK进入项目:General -> Embedded Binaries

- AlivcLibFace.framework
- AlivcLibBeauty.framework
- AliyunPlayerSDK.framework
- AliyunThirparty.framework
- AlivcLivePusher.framework
- AlivcLibRtmp.framework

使用

import Pusher from 'react-native-living-pusher'

在渲染函数内容直接使用AliLivingPusher标签,并且设置宽高等样式

<Pusher 
    {其他属性值}
    style={{width:'100%',height:'100%'}}
    />

该组件需要手动出发开始预览、开始推流等事件,直接使用

Pusher.startPreview();
Pusher.startPusher('推流目的地址');

API说明

EVENT主动事件说明

函数名称参数函数功能说明
startPreview()null开始推流
startPushWithURL(url:String)url:推流地址开始推流
pause()null暂停推流
resume()null暂停之后可以恢复推流
restartPush()null重新开始推流
switchBeautyOn(on:Boolean)on:是否开启美颜打开/关闭美颜
setBeautyWhite(white:Number)white:设置美白美白级别0-100
setBeautyBuffing(buffing:Number)buffing:设置磨皮设置磨皮
setBeautyRuddy(ruddy:Number)ruddy:设置红润值设置红润
setBeautyCheekPink(pink:Number)pink:设置腮红设置腮红
setThinFace(thin:Number)thin:瘦脸设置瘦脸
setShortenFace(shorten:Number)shorten:瘦下巴设置瘦下巴
setBigEye(bigEye:Number)bigEye:设置大眼设置大眼
switchCameraType()null切换摄像头
flash(isOn:Boolean)isOn:开/关闪光灯开启/关闭闪光灯
setAutoFocus(isAuto:Boolean)isAuto:是否自动对焦设置是否自动对焦
setFocusPointX(x:Number,y:Number,needAuto:Boolean)x:对焦x坐标;y:对焦y坐标;needAuto:对焦完成是否自动对焦手动设置对焦点
setZoom(zoom:Number)zoom:缩放倍率设置缩放倍率缩放接口为增量设置,每次设置参数都是在当前基础上做增减,缩放倍数范围(1-3)
snapShot(count:Number,duration:Number)count:;duration:;截图
getMaxZoom():Promisereturn :异步返回最大变焦值异步获取最大变焦值
getCurrentZoom():Promisereturn :异步返回当前变焦值异步获取当前变焦值
getAllWatermarks():Promise<Object[]>return :异步返回所有水印信息异步获取所有水印信息

备注:1.水印功能需要在初始化配置时设置;2.图片要求为png格式;3.图片需要在xcode路径下;4.最多支持3张 若需要修改水印图,需要在文件UATPusherView的第50行内添加配置水印图片路径

PROPS回调属性说明

属性值参数值触发事件节点
onBGMComplete()=>{}背景音乐播放完毕
onBGMDownloadTimeout()=>{}背景音乐下载播放超时
onBGMOpenFail()=>{}背景音乐开启失败
onBGMPause()=>{}背景音乐暂停播放
onBGMProgress(progress:Number,duration:Number)=>{}背景音乐播放进度变化
onBGMResume()=>{}背景音乐恢复播放
onBGMStart()=>{}背景音乐开始播放
onBGMStop()=>{}背景音乐停止播放
onSDKError(error:AliLivingPusherError)=>{}sdk发生异常回调
onSystemError(error:AliLivingPusherError)=>{}系统发生异常回调
onConnectFail(error:AliLivingPusherError)=>{}推流连接失败
onConnectResume()=>{}网络恢复正常
onConnectLost()=>{}网络被断开
onNetworkPoor()=>{}网络差回调
onPushURLAuthenticationOverdue():String=>{}return :返回新的推流地址推流URL的鉴权时长即将过期(将在过期前1min内发送此回调)
onReconnectError(error:AliLivingPusherError)=>{}重连失败回调
onReconnectStart()=>{}重连开始回调
onReconnectSuccess()=>{}重连成功回调
onSendDataTimeout()=>{}发送数据超时
onSendSEIMessage()=>{}发送SEI Message 通知
onSnapShot(img:React.ReactNode)=>{}截图
onCreateOutBeauty(context:Object)=>{}外置美颜滤镜创建回调
onDestoryOutBeauty()=>{}通知外置滤镜销毁回调
(isOn:Boolean)=>{}外置美颜滤镜开关回调
onUpdateParams(buffing:Number,whiten:Number,pink:Number,cheekpink:Number,thinface:Number,shortenface:Number,bigeye:Number)=>{}外置美颜滤镜更新参数回调
onCreateDetector()=>{}外置人脸检测创建回调
onDestoryDetector()=>{}外置人脸检测销毁回调
onDetectorProcess(data:Number,w:Number,h:Number,rotation:Number,format:Number,extra:Number)=>{}外置人脸检测处理回调
onPreviewStarted()=>{}开始预览,开始预览事件触发
onPreviewStoped()=>{}停止预览
onFirstFramePreviewed()=>{}获取到第一帧,预览成功获取第一帧图片回调
onPushStarted()=>{}开始推流回调
onPushPaused()=>{}暂停推流
onPushResumed()=>{}恢复推流
onPushRestart()=>{}重新开始推流
onPushStoped()=>{}停止推流

错误对象 AliLivingPusherError

属性名类型备注
errorCodeNumber错误码
errorDescriptionString错误描述
0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago