1.0.0 • Published 5 years ago

react-native-aglive v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

react-native-aglive

功能介绍

  • 支持 iOS、Android 声网Agora多人互动直播
  • 支持 免费的基础美颜:美白、磨皮、红润等

安装使用

npm install --save react-native-aglive

Then link with:

react-native link react-native-aglive

iOS

TARGETS->Build Phases-> Link Binary With Libaries中点击“+”按钮,选择

libresolv.tbd
libc++.tbd
AVFoundation.framework
AudioToolbox.framework
VideoToolbox.framework
CoreMotion.framework
CoreMedia.framework
CoreTelephony.framework

TARGETS->Build Phases-> Link Binary With Libaries中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择

node_modules/react-native-aglive/ios/RCTAgora/Frameworks/AgoraSDK/libcrypto.a
node_modules/react-native-aglive/ios/RCTAgora/Frameworks/AgoraSDK/AgoraRtcCryptoLoader.framework
node_modules/react-native-aglive/ios/RCTAgora/Frameworks/AgoraSDK/AgoraRtcEngineKit.framework
node_modules/react-native-aglive/ios/RCTAgora/Frameworks/AgoraSDK/videoprp.framework

TARGETS->Build Settings->Search Paths->Framework Search Paths添加

"$(SRCROOT)/../node_modules/react-native-aglive/ios/RCTAgora/Frameworks/AgoraSDK"

TARGETS->Build Settings->Search Paths->Library Search Paths添加

"$(SRCROOT)/../node_modules/react-native-aglive/ios/RCTAgora/Frameworks/AgoraSDK"

TARGETS->Build Settings->Enable Bitcode设置为No

TARGETS->Capabilities->Background Modes->Modes勾选Audio,AirPlay,and Picture In Picture

项目目录->Info.plist->增加2项

"Privacy - Camera Usage Description":"use camera to start video call"
"Privacy - Microphone Usage Description":"use microphone to start video call"

Android

Add following to AndroidManifest.xml

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

写混淆代码时,添加以下代码:

-keep class io.agora.**{*;}

Documentation

声网API

RtcEngine方法
PropertyTypeDescription
init{appid: 'agora注册的应用id', channelProfile: '频道模式', videoProfile: '视频模式', clientRole: '角色', swapWidthAndHeight: 'bool值'}初始化Agora引擎
joinChannelstring: channelName(房间名称)number: uid(uid=0系统自动分配)加入房间
leaveChannel离开频道
changeRole切换角色
destroy销毁引擎实例
configPublisherobject{} config参数请前往Agora文档查看配置旁路直播推流方法
setLocalRenderModenumber: mode (1 2 3)设置本地视频显示模式
setRemoteRenderModenumber: uid number: mode (1 2 3)设置远端视频显示模式
enableAudioVolumeIndicationnumber: interval (时间间隔) number: smooth(平滑系数,可以设置为3)启用说话者音量提示
startPreview开启视频预览
stopPreview关闭视频预览
switchCamera切换(前置/后置)摄像头
enableVideo开启视频模式
disableVideo关闭视频
setCameraAutoFocusFaceModeEnabled开/关 人脸对焦功能
setDefaultAudioRouteToSpeakerphone修改默认的语音路由
setCameraTorchOn开/关 闪光灯
setEnableSpeakerphonebool开/关 扬声器
muteLocalAudioStreambool (default false)将自己静音
muteAllRemoteAudioStreamsbool (default false)静音所有远端音频
muteRemoteAudioStreamnumber: uid(用户uid)bool: mute(是否静音)静音指定用户音频
muteLocalVideoStreambool (default false)暂停发送本地视频流
enableLocalVideobool (default false)禁用本地视频功能
muteAllRemoteVideoStreamsbool (default false)暂停所有远端视频流
muteRemoteVideoStreamnumber: uid(用户uid)bool: mute(是否暂停)暂停指定远端视频流
startRecordingService (iOS only)string: recordingKey启动服务端录制服务
stopRecordingService (iOS only)string: recordingKey停止服务端录制服务
getSdkVersioncallback获取版本号
openBeautityFace打开美颜
closeBeautityFace关闭美颜
原生通知事件
RtcEngine.eventEmitter({
  onFirstRemoteVideoDecoded: data => {},
  onFirstRemoteVideoFrameOfUid: data => {},
  onFirstLocalVideoFrameWithSize: data => {},
  onJoinChannelSuccess: data => {},
  onReJoinChannelSuccess: data => {},
  onUserOffline: data => {},
  onUserJoined: data => {},
  onError: data => {},
  onWarning: data => {},
  onLeaveChannel: data => {},
  onAudioVolumeIndication: data => {},
  onConnectionDidInterrupted: data => {},
  onConnectionDidLost: data => {},
  onConnectionDidBanned: data => {}
})
NameDescription
onFirstRemoteVideoDecoded远端首帧视频接收解码回调
onFirstRemoteVideoFrameOfUid远端首帧视频显示回调
onFirstLocalVideoFrameWithSize本地首帧视频显示回调
onJoinChannelSuccess加入频道成功的回调
onReJoinChannelSuccess重新加入频道回调
onUserOffline其他用户离开当前频道
onUserJoined其他用户加入当前频道
onError错误信息
onWarning警告
onLeaveChannel退出频道
onAudioVolumeIndication音量提示回调
onConnectionDidInterrupted网络连接中断回调
onConnectionDidLost网络连接丢失回调
onConnectionDidBanned连接已被禁止回调
AgoraView 组件
NameDescription
showLocalVideo是否显示本地视频(bool)
remoteUid显示远程视频(number 传入uid)
zOrderMediaOverlay (Android only)多视频界面覆盖 设置为true优先在上层(bool)