react-native-living-pushing
v0.0.6
Published
基于阿里云直播sdk封装RN版本,包含直播、播放端,仅需要接入标签即可快速实现直播功能,支持互动,后续会增加打赏
Downloads
16
Readme
阿里云直播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.如果需要设置后台直播,则需要开启后台权限
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():Promise|return :异步返回最大变焦值|异步获取最大变焦值| |getCurrentZoom():Promise|return :异步返回当前变焦值|异步获取当前变焦值| |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
|属性名|类型|备注| |-|-|-| |errorCode|Number|错误码| |errorDescription|String|错误描述|