Browse Source

add gitter and api docs

matrixbirds 5 years ago
parent
commit
a80fb4e1ec
3 changed files with 328 additions and 49 deletions
  1. 1
    0
      .npmignore
  2. 164
    49
      README.md
  3. 163
    0
      README.old.md

+ 1
- 0
.npmignore View File

@@ -33,3 +33,4 @@ proguard-rules.pro
33 33
 .idea
34 34
 .settings
35 35
 .vscode
36
+package-lock.json

+ 164
- 49
README.md View File

@@ -1,18 +1,19 @@
1 1
 ##### 有任何问题欢迎加入QQ群进行反馈  471757030
2 2
 
3
-# react-native-agora
3
+## [for 1.x old version](README.old.md)
4 4
 
5
+# react-native-agora
5 6
 [![npm](https://img.shields.io/npm/v/react-native-agora.svg)](https://www.npmjs.com/package/react-native-agora)
6 7
 [![npm](https://img.shields.io/npm/dm/react-native-agora.svg)](https://www.npmjs.com/package/react-native-agora)
7 8
 [![npm](https://img.shields.io/npm/dt/react-native-agora.svg)](https://www.npmjs.com/package/react-native-agora)
8 9
 [![npm](https://img.shields.io/npm/l/react-native-agora.svg)](https://github.com/syanbo/react-native-agora/blob/master/LICENSE)
10
+[![join chat](https://img.shields.io/badge/gitter-join%20chat-brightgreen.svg)](https://gitter.im/react-native-agora/community)
9 11
 
10
-## 功能介绍
12
+## Description
11 13
 
12
-- 支持 iOS Android  声网Agora视频通讯SDK
13
-- 支持 直播 多人视频会议 语音 功能
14
+The react-native-agora is an open-source wrapper for react-native developers. This SDK takes advantage of React Native and Agora RTC Video SDKs on Android/iOS.
14 15
 
15
-## 安装使用
16
+## Installation
16 17
 
17 18
 Install with npm:
18 19
 
@@ -34,43 +35,106 @@ Either way, then link with:
34 35
 
35 36
 ## Documentation
36 37
 
37
-[声网API文档](https://docs.agora.io/cn/2.0.2/product/Video/API%20Reference/communication_android_video?platform=Android)
38
+[声网API文档](https://docs.agora.io/cn/Video/API%20Reference/java/index.html)
39
+
40
+[Agora.io API DOCS](https://docs.agora.io/en/Video/API%20Reference/java/index.html)
38 41
 
39 42
 ##### RtcEngine方法
40 43
 
41
-| Property                         | Type                                     | Description                           |
44
+| Property                         | Arguments                                     | Description                           |
42 45
 | -------------------------------- | ---------------------------------------- | ------------------------------------- |
43
-| init                             | object {appid: 'agora注册的应用id', channelProfile: '频道模式', videoProfile: '视频模式', clientRole: '角色', swapWidthAndHeight: 'bool值'} | 初始化Agora引擎                            |
44
-| joinChannel                      | string channelName (房间名称)   number uid (用户设置的uid 传0系统会自动分配) | 加入房间                                  |
45
-| leaveChannel                     |                                          | 离开频道                                  |
46
-| destroy                          |                                          | 销毁引擎实例                                |
47
-| configPublisher                     | object{} config参数请前往Agora文档查看                                        | 配置旁路直播推流方法                               |
48
-| setLocalRenderMode                     | number mode (1 2 3)                                        | 设置本地视频显示模式                                |
49
-| setRemoteRenderMode                     | number uid  number mode (1 2 3)                                          | 设置远端视频显示模式                                |
50
-| enableAudioVolumeIndication                     | number interval (时间间隔) number smooth(平滑系数。可以设置为 3)                                         | 启用说话者音量提示                                |
51
-| startPreview                     |                                          | 开启视频预览                                |
52
-| stopPreview                      |                                          | 关闭视频预览                                |
53
-| switchCamera                     |                                          | 切换前置/后置摄像头                            |
54
-| enableVideo                      |                                          | 开启视频模式                                |
55
-| disableVideo                     |                                          | 关闭视频                                  |
56
-| setCameraAutoFocusFaceModeEnabled                     |                                          | 是否开启人脸对焦功能                                  |
57
-| setDefaultAudioRouteToSpeakerphone                     |                                          | 修改默认的语音路由                                  |
58
-| setCameraTorchOn                     |                                          | 是否打开闪光灯                                  |
59
-| setEnableSpeakerphone            | bool                                     | 开启扬声器  trun: 音频输出至扬声器  false: 音频输出至听筒 |
60
-| muteLocalAudioStream             | bool (default false)                     | 将自己静音                                 |
61
-| muteAllRemoteAudioStreams        | bool (default false)                     | 静音所有远端 音频                             |
62
-| muteRemoteAudioStream            | number uid(用户uid) bool  mute(是否静音)       | 静音指定用户 音频                             |
63
-| muteLocalVideoStream             | bool (default false)                     | 暂停发送本地 视频流                            |
64
-| enableLocalVideo                 | bool (default false)                     | 禁用本地视频功能                              |
65
-| muteAllRemoteVideoStreams        | bool (default false)                     | 暂停所有远端视频流                             |
66
-| muteRemoteVideoStream            | number uid(用户uid) bool  mute(是否暂停)       | 暂停指定远端视频流                             |
67
-| startRecordingService (iOS only) | string  recordingKey                     | 启动服务端录制服务                             |
68
-| stopRecordingService (iOS only)  | string  recordingKey                     | 停止服务端录制服务                             |
69
-| getSdkVersion                    | callback                                 | 获取版本号                                 |
70
-| createDataStream | (boolean reliable, boolean ordered, (streamId) => {}), 其中 reliable, ordered 请参考官方文档同名方法说明 | 创建数据流通道 |
71
-| sendStreamMessage | (number streamId, string message, (errorCode) => {})| 发送数据 |
72
-
73
-##### 原生通知事件
46
+| init | [Option](####Option) | create and initialize AgoraRtcEngine instance                     
47
+| Promise<any> joinChannel | String channelName, Number uid | join channel|
48
+| eventEmitter | [events_list](####events_list) | registe event emitters|
49
+| removeEmitter | void | remove event emitter |
50
+| Promise<any> enableLastmileTest | void | enable network quality test |
51
+| Promise<any> disableLastmileTest | void | disable network quality test |
52
+| Promise<any> leaveChannel | void | quit channel |
53
+| destroy | void | destroy AgoraRtcEngine instance |
54
+| setupLocalVideo | Number: uid, Number: renderMode, Number: reactTag | setup local video |
55
+| setupRemoteVideo | Number: uid, Number: renderMode, Number: reactTag | setup remote video |
56
+| startPreview | void | open video preview |
57
+| stopPreview | void | close video preview |
58
+| setLiveTranscoding | [LiveTranscoding](####LiveTranscoding) | start live trancoding |
59
+| setLocalRenderMode | Number: mode | set local video render mode  |
60
+| setRemoteRenderMode | Number: uid, Number: mode | set remote video render mode |
61
+| enableAudioVolumeIndication | Number: interval, Number smooth | enable speaker volume notification|
62
+| Promise<any> switchCamera | void | switch mobile camera |
63
+| enableVideo | void | enable video  |
64
+| disableVideo | void | disable video |
65
+| setEnableSpeakerphone | Boolean: enabled | set enable speaker phone |
66
+| setCameraAutoFocusFaceModeEnabled | Boolean: enabled | set camera auto focus face mode |
67
+| setDefaultAudioRouteToSpeakerphone | Boolean: enabled | set default audio route to speaker phone |
68
+| setCameraTorchOn  | Boolean: enabled | set camera torch on |
69
+| muteLocalAudioStream  | Boolean: enabled | mute/unmute local audio |
70
+| muteRemoteAudioStream  | Number: uid, Boolean: enabled | mute/unmute remote audio by uid |
71
+| muteAllRemoteAudioStreams | Boolean: enabled | mute/unmute all remote audio |
72
+| muteLocalVideoStream  | Boolean: enabled | mute/unmute local video stream |
73
+| enableLocalVideo | Boolean: enabled | set enabled status to local video |
74
+| muteAllRemoteVideoStreams | void | mute/unmute all remote videos |
75
+| muteRemoteVideoStream | Number: uid, Boolean: enabled | mute/unmute remote video by uid |
76
+| getSdkVersion | Function: callback | get sdk version |
77
+| createDataStream | Boolean: reliable, Boolean: ordered | createDataStream |
78
+| sendStreamMessage | Number: streamId, String data | send data with uid |
79
+
80
+
81
+#### Option
82
+```typescript
83
+export interface Option {
84
+  appid: String,
85
+  videoProfile: number
86
+  channelProfile: number,
87
+  videoEncoderConfig: VideoEncoderConfig,
88
+  clientRole: number,
89
+  audioProfile: number,
90
+  audioScenario: number
91
+}
92
+
93
+export interface VideoEncoderConfig {
94
+  width: number,
95
+  height: number,
96
+  bitrate: number,
97
+  frameRate: number,
98
+  orientationMode: number,
99
+}
100
+```
101
+
102
+#### LiveTranscoding
103
+```typescript
104
+export interface LiveTranscoding {
105
+  size: Size,
106
+  videoBitrate: number,
107
+  videoFramerate: number,
108
+  lowLatency: boolean,
109
+  videoGop: number,
110
+  videoCodecProfile: number,
111
+  transcodingUsers: Array<TranscodingUser>,
112
+  transcodingExtraInfo: string,
113
+  watermark: BackgroundImage,
114
+  backgroundImage: BackgroundImage,
115
+  backgroundColor: Color,
116
+  audioSampleRate: number,
117
+  audioBitrate: number,
118
+  audioChannels: number,
119
+}
120
+```
121
+
122
+####events_list
123
+
124
+```
125
+RtcEngine.eventEmitter({
126
+  onFirstRemoteVideoDecoded: data => {},
127
+  onJoinChannelSuccess: data => {},
128
+  onUserOffline: data => {},
129
+  onUserJoined: data => {},
130
+  onError: data => {},
131
+  onWarning: data => {},
132
+  onLeaveChannel: data => {},
133
+  onAudioVolumeIndication: data => {},
134
+  onStreamMessage: ({uid, streamId, data}) => {},
135
+  onStreamMessageError: ({uid, streamId, error, missed, cached}) => {},
136
+})
137
+```
74 138
 
75 139
 ```
76 140
 RtcEngine.eventEmitter({
@@ -89,17 +153,64 @@ RtcEngine.eventEmitter({
89 153
 
90 154
 | Name                      | Description  |
91 155
 | ------------------------- | ------------ |
92
-| onFirstRemoteVideoDecoded | 远端首帧视频接收解码回调 |
93
-| onJoinChannelSuccess      | 加入频道成功的回调    |
94
-| onUserOffline             | 其他用户离开当前频道   |
95
-| onUserJoined              | 其他用户加入当前频道   |
96
-| onError                   | 错误信息         |
97
-| onWarning                 | 警告           |
98
-| onLeaveChannel            | 退出频道         |
99
-| onAudioVolumeIndication            | 音量提示回调         |
100
-| onStreamMessage | 接收到对方数据流消息的回调 |
101
-| onStreamMessageError | 接收到对方数据流消息错误的回调 |
102
-
156
+| onWarning                 | warning |
157
+| onError                   | error |
158
+| onFirstRemoteVideoDecoded | when received first frame send from remote decoded stream |
159
+| onJoinChannelSuccess      | join channel success |
160
+| onReJoinChannelSuccess      | rejoin channel success |
161
+| onLeaveChannel            | quit channel |
162
+| onClientRoleChanged | when changed client role |
163
+| onUserJoined              | when user joined channel |
164
+| onUserOffline             | when user left channel |
165
+| onConnectionStateChanged | when connection state changed |
166
+| onConnectionInterrupted | when connection interrupted |
167
+| onConnectionLost | when connection lost |
168
+| onConnectionBanned | when connection banned |
169
+| onApiCallExecuted | capture api call executed |
170
+| onTokenPrivilegeWillExpire | when token will expire |
171
+| onRequestToken | when token expired |
172
+| onMicrophoneEnabled | when microphone enabled |
173
+| onAudioVolumeIndication | notice audio volume |
174
+| onActiveSpeaker | reports which user is the loudest speaker |
175
+| onFirstLocalAudioFrame | when the first local audio frame is sent |
176
+| onFirstRemoteAudioFrame | when the first remote audio frame is sent |
177
+| onVideoStopped | when video stopped |
178
+| onFirstLocalVideoFrame | when first local video frame is sent |
179
+| onFirstRemoteVideoDecoded | when first remote video is decoded |
180
+| onFirstRemoteVideoFrame | when first remote video frame is rendered |
181
+| onUserMuteAudio | when a remote user's audio stream is muted/unmuted |
182
+| onUserMuteVideo | when a remote user's video stream is muted/unmuted |
183
+| onUserEnableVideo | when a remote user enables/disables the video module |
184
+| onUserEnableLocalVideo | when a remote user enables/disables the local video capture function |
185
+| onVideoSizeChanged | when the video size or rotation information of a specified remote user changes |
186
+| onRemoteVideoStateChanged | when the remote video stream state changes |
187
+| onLocalPublishFallbackToAudioOnly | when the published media stream falls back to an audio-only stream due to poor network conditions or switches back to video stream after the network conditions improve |
188
+| onRemoteSubscribeFallbackToAudioOnly | when the subscribed media stream falls back to audio-only stream due to poor network conditions or switches back to video stream after the network conditions improve |
189
+| onAudioRouteChanged | when the local audio pkayout route changes |
190
+| onCameraReady | when the camera is turned on and ready to capture video |
191
+| onCameraFocusAreaChanged | when the camera focus area is changed |
192
+| onCameraExposureAreaChanged | The camera exposure area has changed |
193
+| onAudioQuality | Reports the statistics of the audio stream from each remote user/host |
194
+| onRtcStats | Reports the statistics of the RtcEngine once every two seconds |
195
+| onLastmileQuality | Reports the last mile network quality of the local user once every two seconds before the user joins the channel. Last mile refers to the connection between the local device and Agora's edge server. After the application calls the enableLastmileTest method, this callback reports once every two seconds the uplink and downlink last mile network conditions of the local user before the user joins the channel. |
196
+| onNetworkQuality | Reports the last mile network quality of each user in the channel once every two seconds. Last mile refers to the connection between the local device and Agora's edge server. This callback reports once every two seconds the uplink last mile network conditions of each user in the channel. If a channel includes multiple users, then this callback will be triggered as many times. |
197
+| onLocalVideoStats | Reports the statistics of the uploading local video streams. This callback is triggered once every two seconds for each individual user/host. If there are multiple users/hosts in the channel, this callback is triggered multiple times every 2 seconds. |
198
+| onRemoteVideoStats | Reports the statistics of the video stream from each remote user/host. The SDK triggers this callback once every two seconds for each remote user/host. If a channel includes multiple remote users, the SDK triggers this callback as many times. This callback reports statistics more closely linked to the real-user experience of the video transmission quality than the statistics that the onRemoteVideoTransportStats callback reports |
199
+| onRemoteAudioStats | Reports the statistics of the audio stream from each remote user/host |
200
+| onLocalVideoStat | Reports the statistics of the uploading local video streams |
201
+| onRemoteVideoStat | Reports the statistics of the video stream from each remote user/host.|
202
+| onRemoteAudioTransportStats | Reports the transport-layer statistics of each remote audio stream.This callback reports the transport-layer statistics, such as the packet loss rate and time delay, once every two seconds after the local user receives an audio packet from a remote user. |
203
+| onRemoteVideoTransportStats | Reports the transport-layer statistics of each remote video stream.This callback reports the transport-layer statistics, such as the packet loss rate and time delay, once every two seconds after the local user receives the video packet from a remote user. |
204
+| onAudioMixingFinished | when the audio mixing file playback finishes. |
205
+| onAudioEffectFinished | when the audio effect file playback finishes. |
206
+| onStreamPublished | when a CDN live stream is published. |
207
+| onStreamUnpublished | when CDN live streaming stops. |
208
+| onTranscodingUpdated | when the publisher's transcoding settings are updated. |
209
+| onStreamInjectedStatus | Reports the status of the injected online media stream. |
210
+| onStreamMessage | recevied stream message peer endpoint |
211
+| onStreamMessageError | recevied error message from peer endpoint stream message |
212
+| onMediaEngineLoadSuccess | when the media engine is loaded. |
213
+| onMediaEngineStartCallSuccess | when the media engine starts. |
103 214
 
104 215
 ##### AgoraView 组件
105 216
 
@@ -119,6 +230,10 @@ RtcEngine.eventEmitter({
119 230
 
120 231
 
121 232
 ## 更新信息
233
+#### 2.3.3-alpha
234
+- support agora video sdk 2.3.3
235
+
236
+
122 237
 #### 1.1.2
123 238
 - 增加onVideoMute
124 239
 - 新增onAudioMute回调

+ 163
- 0
README.old.md View File

@@ -0,0 +1,163 @@
1
+##### 有任何问题欢迎加入QQ群进行反馈  471757030
2
+
3
+# react-native-agora
4
+
5
+[![npm](https://img.shields.io/npm/v/react-native-agora.svg)](https://www.npmjs.com/package/react-native-agora)
6
+[![npm](https://img.shields.io/npm/dm/react-native-agora.svg)](https://www.npmjs.com/package/react-native-agora)
7
+[![npm](https://img.shields.io/npm/dt/react-native-agora.svg)](https://www.npmjs.com/package/react-native-agora)
8
+[![npm](https://img.shields.io/npm/l/react-native-agora.svg)](https://github.com/syanbo/react-native-agora/blob/master/LICENSE)
9
+[![join chat](https://img.shields.io/badge/gitter-join%20chat-brightgreen.svg)](https://gitter.im/react-native-agora/community)
10
+
11
+## 功能介绍
12
+
13
+- 支持 iOS Android  声网Agora视频通讯SDK
14
+- 支持 直播 多人视频会议 语音 功能
15
+
16
+## 安装使用
17
+
18
+Install with npm:
19
+
20
+ `npm install --save react-native-agora`
21
+
22
+Or, install with yarn:
23
+
24
+ `yarn add react-native-agora`
25
+
26
+Either way, then link with:
27
+
28
+ `react-native link react-native-agora`
29
+
30
+### [iOS Installation](docs/IOS_INSTALLATION.md)
31
+### [iOS 开发环境安装指南](docs/IOS_INSTALLATION.zh.md)
32
+
33
+### [Android Installation](docs/ANDROID_INSTALLATION.md)
34
+### [Android 开发环境安装指南](docs/ANDROID_INSTALLATION.zh.md)
35
+
36
+## Documentation
37
+
38
+[声网API文档](https://docs.agora.io/cn/2.0.2/product/Video/API%20Reference/communication_android_video?platform=Android)
39
+
40
+##### RtcEngine方法
41
+
42
+| Property                         | Type                                     | Description                           |
43
+| -------------------------------- | ---------------------------------------- | ------------------------------------- |
44
+| init                             | object {appid: 'agora注册的应用id', channelProfile: '频道模式', videoProfile: '视频模式', clientRole: '角色', swapWidthAndHeight: 'bool值'} | 初始化Agora引擎                            |
45
+| joinChannel                      | string channelName (房间名称)   number uid (用户设置的uid 传0系统会自动分配) | 加入房间                                  |
46
+| leaveChannel                     |                                          | 离开频道                                  |
47
+| destroy                          |                                          | 销毁引擎实例                                |
48
+| configPublisher                     | object{} config参数请前往Agora文档查看                                        | 配置旁路直播推流方法                               |
49
+| setLocalRenderMode                     | number mode (1 2 3)                                        | 设置本地视频显示模式                                |
50
+| setRemoteRenderMode                     | number uid  number mode (1 2 3)                                          | 设置远端视频显示模式                                |
51
+| enableAudioVolumeIndication                     | number interval (时间间隔) number smooth(平滑系数。可以设置为 3)                                         | 启用说话者音量提示                                |
52
+| startPreview                     |                                          | 开启视频预览                                |
53
+| stopPreview                      |                                          | 关闭视频预览                                |
54
+| switchCamera                     |                                          | 切换前置/后置摄像头                            |
55
+| enableVideo                      |                                          | 开启视频模式                                |
56
+| disableVideo                     |                                          | 关闭视频                                  |
57
+| setCameraAutoFocusFaceModeEnabled                     |                                          | 是否开启人脸对焦功能                                  |
58
+| setDefaultAudioRouteToSpeakerphone                     |                                          | 修改默认的语音路由                                  |
59
+| setCameraTorchOn                     |                                          | 是否打开闪光灯                                  |
60
+| setEnableSpeakerphone            | bool                                     | 开启扬声器  trun: 音频输出至扬声器  false: 音频输出至听筒 |
61
+| muteLocalAudioStream             | bool (default false)                     | 将自己静音                                 |
62
+| muteAllRemoteAudioStreams        | bool (default false)                     | 静音所有远端 音频                             |
63
+| muteRemoteAudioStream            | number uid(用户uid) bool  mute(是否静音)       | 静音指定用户 音频                             |
64
+| muteLocalVideoStream             | bool (default false)                     | 暂停发送本地 视频流                            |
65
+| enableLocalVideo                 | bool (default false)                     | 禁用本地视频功能                              |
66
+| muteAllRemoteVideoStreams        | bool (default false)                     | 暂停所有远端视频流                             |
67
+| muteRemoteVideoStream            | number uid(用户uid) bool  mute(是否暂停)       | 暂停指定远端视频流                             |
68
+| startRecordingService (iOS only) | string  recordingKey                     | 启动服务端录制服务                             |
69
+| stopRecordingService (iOS only)  | string  recordingKey                     | 停止服务端录制服务                             |
70
+| getSdkVersion                    | callback                                 | 获取版本号                                 |
71
+| createDataStream | (boolean reliable, boolean ordered, (streamId) => {}), 其中 reliable, ordered 请参考官方文档同名方法说明 | 创建数据流通道 |
72
+| sendStreamMessage | (number streamId, string message, (errorCode) => {})| 发送数据 |
73
+
74
+##### 原生通知事件
75
+
76
+```
77
+RtcEngine.eventEmitter({
78
+  onFirstRemoteVideoDecoded: data => {},
79
+  onJoinChannelSuccess: data => {},
80
+  onUserOffline: data => {},
81
+  onUserJoined: data => {},
82
+  onError: data => {},
83
+  onWarning: data => {},
84
+  onLeaveChannel: data => {},
85
+  onAudioVolumeIndication: data => {},
86
+  onStreamMessage: ({uid, streamId, data}) => {},
87
+  onStreamMessageError: ({uid, streamId, error, missed, cached}) => {},
88
+})
89
+```
90
+
91
+| Name                      | Description  |
92
+| ------------------------- | ------------ |
93
+| onFirstRemoteVideoDecoded | 远端首帧视频接收解码回调 |
94
+| onJoinChannelSuccess      | 加入频道成功的回调    |
95
+| onUserOffline             | 其他用户离开当前频道   |
96
+| onUserJoined              | 其他用户加入当前频道   |
97
+| onError                   | 错误信息         |
98
+| onWarning                 | 警告           |
99
+| onLeaveChannel            | 退出频道         |
100
+| onAudioVolumeIndication            | 音量提示回调         |
101
+| onStreamMessage | 接收到对方数据流消息的回调 |
102
+| onStreamMessageError | 接收到对方数据流消息错误的回调 |
103
+
104
+
105
+##### AgoraView 组件
106
+
107
+| Name           | Description          |
108
+| -------------- | -------------------- |
109
+| showLocalVideo | 是否显示本地视频(bool)       |
110
+| remoteUid      | 显示远程视频(number 传入uid) |
111
+| zOrderMediaOverlay (Android only)      | 多视频界面覆盖 设置为true优先在上层(bool) |
112
+
113
+
114
+## 运行示例
115
+
116
+- 更新示例 React-Native为0.51
117
+- 优化代码
118
+
119
+[Samples](./samples/README.md)
120
+
121
+
122
+## 更新信息
123
+#### 1.1.2
124
+- 增加onVideoMute
125
+- 新增onAudioMute回调
126
+
127
+#### 1.1.1
128
+
129
+- 新增方法 创建数据流通道 createDataStream
130
+- 新增方法 发送数据流 sendStreamMessage
131
+- 新增监听数据流事件 onStreamMessage
132
+
133
+#### 1.0.9
134
+
135
+- 更新Agora SDK 为 2.0.2
136
+
137
+- 新增方法 是否开启人脸对焦功能 setCameraAutoFocusFaceModeEnabled
138
+
139
+- 新增方法 修改默认的语音路由 setDefaultAudioRouteToSpeakerphone
140
+
141
+- 新增方法 是否打开闪光灯 setCameraTorchOn
142
+
143
+- 修复 Android 说话者音量提示bug
144
+
145
+#### 1.0.8
146
+
147
+ - 更新 Agora SDK 为 1.12
148
+
149
+ - init 不再默认开启视频预览 根据自己需求和时机调用startPreview
150
+
151
+ - init options 新增参数  是否交换宽和高 swapWidthAndHeight 默认false
152
+
153
+ - 新增方法 配置旁路直播推流方法 configPublisher
154
+
155
+ - 新增方法 设置本地视频显示模式 setLocalRenderMode
156
+
157
+ - 新增方法 设置远端视频显示模式 setRemoteRenderMode
158
+
159
+ - 新增方法 启用说话者音量提示 enableAudioVolumeIndication
160
+
161
+ - 新增音量提示回调 onAudioVolumeIndication
162
+
163
+ - Android AgoraView 新增zOrderMediaOverlay属性 解决多视频界面覆盖 设置为true优先在上层