Skip to content

Commit 23742e0

Browse files
author
lihao
committed
📝 Update README
1 parent e45cda4 commit 23742e0

File tree

1 file changed

+58
-15
lines changed

1 file changed

+58
-15
lines changed

README.md

Lines changed: 58 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ Copy the `ZegoExpressManager` folder、 `pages` folder、`img` folder and `App.j
100100
101101
```json
102102
"dependencies": {
103-
"zego-express-engine-reactnative": "^0.17.3"
103+
"zego-express-engine-reactnative": "^0.18.0"
104104
}
105105
```
106106
### Turn off some classes's confusion
@@ -152,7 +152,7 @@ You need to grant the network access, camera, and microphone permission to make
152152
### Method call
153153
154154
The calling sequence of the SDK interface is as follows:
155-
createEngine --> onRoomUserUpdate、onRoomUserDeviceUpdate、onRoomTokenWillExpire --> joinRoom --> setLocalVideoView/setRemoteVideoView --> leaveRoom
155+
createEngine --> onRoomUserUpdate、onRoomUserDeviceUpdate、onRoomTokenWillExpire、onRoomExtraInfoUpdate、onRoomStateUpdate --> joinRoom --> setLocalVideoView/setRemoteVideoView --> enableCamera、enableMic --> leaveRoom
156156
157157
#### Create engine
158158
@@ -163,7 +163,7 @@ const profile = {
163163
appID: config.appID,
164164
scenario: ZegoScenario.General,
165165
} as ZegoEngineProfile;
166-
ZegoExpressManager.instance().createEngine(profile);
166+
ZegoExpressManager.createEngine(profile);
167167
```
168168
169169
#### Register related callbacks
@@ -180,6 +180,12 @@ ZegoExpressManager.instance().onRoomUserDeviceUpdate((updateType, userID, roomID
180180
ZegoExpressManager.instance().onRoomTokenWillExpire((roomID, remainTimeInSecond) => {
181181
// Do something...
182182
});
183+
ZegoExpressManager.instance().onRoomExtraInfoUpdate((roomExtraInfoList) => {
184+
// Do something...
185+
})
186+
ZegoExpressManager.instance().onRoomStateUpdate((state) => {
187+
// Do something...
188+
})
183189
```
184190
185191
#### Join room
@@ -188,16 +194,25 @@ When you want to communicate with audio and video, you need to call the join roo
188194
189195
ZegoMediaOptions enumeration can be found in ZegoExpressManager/index.entity.ts.
190196
191-
1. call scene: [ZegoMediaOptions.AutoPlayVideo, ZegoMediaOptions.AutoPlayAudio, ZegoMediaOptions.PublishLocalAudio, ZegoMediaOptions.PublishLocalVideo], the default is this scenario
192-
2. Live scene - host: [ZegoMediaOptions.AutoPlayVideo, ZegoMediaOptions.AutoPlayAudio, ZegoMediaOptions.PublishLocalAudio, ZegoMediaOptions.PublishLocalVideo]
193-
3. Live scene - audience:[ZegoMediaOptions.AutoPlayVideo, ZegoMediaOptions.AutoPlayAudio]
194-
4. Chat room - host: [ZegoMediaOptions.AutoPlayAudio, ZegoMediaOptions.PublishLocalAudio]
195-
5. Chat room - audience: [ZegoMediaOptions.AutoPlayAudio]
197+
1. Join Live As Host: [ZegoMediaOptions.AutoPlayVideo, ZegoMediaOptions.AutoPlayAudio, ZegoMediaOptions.PublishLocalAudio, ZegoMediaOptions.PublishLocalVideo]
198+
2. Join Live As Audience: [ZegoMediaOptions.AutoPlayVideo, ZegoMediaOptions.AutoPlayAudio]
196199
197-
The following sample code is an example of a call scenario, options can not be passed by default:
200+
The following sample code is an example of a call scenario:
198201
199202
```typescript
200-
ZegoExpressManager.instance().joinRoom(config.roomID, token, { userID: config.userID, userName: config.userName });
203+
// Host
204+
ZegoExpressManager.instance().joinRoom(config.roomID, token, {userID: config.userID, userName: config.userName}, [
205+
ZegoMediaOptions.PublishLocalAudio,
206+
ZegoMediaOptions.PublishLocalVideo,
207+
ZegoMediaOptions.AutoPlayAudio,
208+
ZegoMediaOptions.AutoPlayVideo
209+
]);
210+
211+
// Audience
212+
ZegoExpressManager.instance().joinRoom(config.roomID, token, {userID: config.userID, userName: config.userName}, [
213+
ZegoMediaOptions.AutoPlayAudio,
214+
ZegoMediaOptions.AutoPlayVideo
215+
]);
201216
```
202217
203218
#### Set video view
@@ -207,18 +222,18 @@ If your project needs to use the video communication function, you need to set t
207222
**setLocalVideoView:**
208223
209224
```tsx
210-
<ZegoTextureView ref={this.zegoPreviewViewRef}/>
225+
<ZegoTextureView ref={this.viewRef1}/>
211226
```
212227
213228
```typescript
214-
this.zegoPreviewViewRef = React.createRef();
215-
ZegoExpressManager.instance().setLocalVideoView(findNodeHandle(this.zegoPreviewViewRef.current));
229+
this.viewRef1 = React.createRef();
230+
ZegoExpressManager.instance().setLocalVideoView(findNodeHandle(this.viewRef1.current));
216231
```
217232
218233
**setRemoteVideoView:**
219234
220235
```tsx
221-
<ZegoTextureView ref={this.zegoPlayViewRef}/>
236+
<ZegoTextureView ref={this.viewRef2}/>
222237
```
223238
224239
```typescript
@@ -228,17 +243,45 @@ ZegoExpressManager.instance().onRoomUserUpdate(
228243
if (updateType === ZegoUpdateType.Add) {
229244
ZegoExpressManager.instance().setRemoteVideoView(
230245
userID,
231-
findNodeHandle(this.zegoPlayViewRef.current));
246+
findNodeHandle(this.viewRef2.current));
232247
}
233248
});
234249
}
235250
);
236251
```
237252
253+
#### Enable camera
254+
255+
```typescript
256+
ZegoExpressManager.instance().enableCamera(enable);
257+
```
258+
259+
#### Enable mic
260+
261+
```typescript
262+
ZegoExpressManager.instance().enableMic(enable);
263+
```
264+
238265
#### Leave room
239266
240267
When you want to leave the room, you can call the leaveroom interface.
241268
242269
```typescript
243270
ZegoExpressManager.instance().leaveRoom();
244271
```
272+
273+
#### Destroy engine
274+
275+
When you don't need to use the SDK anymore, you can uninitialize engine to release the resources.
276+
277+
```typescript
278+
ZegoExpressManager.destroyEngine();
279+
```
280+
281+
## Change Log
282+
283+
### 2022-05-23
284+
285+
#### New Features
286+
287+
1. Added live streaming scene with seat

0 commit comments

Comments
 (0)