You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- When the DeviceManager is created, at first it does not know about any devices if permissions have not been granted yet and so initially it's device lists are empty. If we then call the DeviceManager.askPermission() API, the user is prompted for device access and if the user clicks on 'allow' to grant the access, then the device manager will learn about the devices on the system, update it's device lists and emit the 'audioDevicesUpdated' and 'videoDevicesUpdated' events. Lets say we then refresh the page and create device manager, the device manager will be able to learn about devices because user has already previously granted access, and so it will initially it will have it's device lists filled and it will not emit 'audioDevicesUpdated' nor 'videoDevicesUpdated' events.
85
85
- Speaker enumeration/selection is not supported on Android Chrome, iOS Safari, nor macOS Safari.
86
86
87
-
## Start and stop sending local video
87
+
## Place a call with video camera
88
+
89
+
> [!IMPORTANT]
90
+
> Currently only one outgoing local video stream is supported.
91
+
92
+
To place a video call, you have to enumerate local cameras by using the `getCameras()` method in `deviceManager`.
93
+
94
+
After you select a camera, use it to construct a `LocalVideoStream` instance. Pass it within `videoOptions` as an item within the `localVideoStream` array to the `startCall` method.
- You can also join a call with video with `CallAgent.join()` API, and accept and call with video with `Call.Accept()` API.
106
+
- When your call connects, it automatically starts sending a video stream from the selected camera to the other participant.
107
+
108
+
## Start and stop sending local video while on a call
88
109
89
-
To start a video, you have to enumerate cameras using the `getCameras` method on the `deviceManager` object. Then create a new instance of `LocalVideoStream` with the desired camera and then pass the `LocalVideoStream` object into the `startVideo` method of an existing call object:
110
+
To start a video while on a call, you have to enumerate cameras using the `getCameras` method on the `deviceManager` object. Then create a new instance of `LocalVideoStream` with the desired camera and then pass the `LocalVideoStream` object into the `startVideo` method of an existing call object:
@@ -102,16 +123,14 @@ After you successfully start sending video, a `LocalVideoStream` instance is add
102
123
call.localVideoStreams[0] === localVideoStream;
103
124
```
104
125
105
-
To stop local video, pass the `localVideoStream` instance that's available in the `localVideoStreams` collection:
126
+
To stop local video while on a call, pass the `localVideoStream` instance that's available in the `localVideoStreams` collection:
106
127
107
128
```js
108
129
awaitcall.stopVideo(localVideoStream);
109
130
// or
110
131
awaitcall.stopVideo(call.localVideoStreams[0]);
111
132
```
112
133
113
-
There are 4 methods in which you can pass a `localVideoStream` instance to start video in a call, `callAgent.startCall()`, `callAgent.join()`, `call.accept()`, and `call.startVideo()`. To use `call.stopVideo()`, you must pass that same `localVideoStream` instance that you passed to the original method used to start video.
114
-
115
134
You can switch to a different camera device while a video is sending by invoking `switchSource` on a `localVideoStream` instance:
116
135
117
136
```js
@@ -125,27 +144,6 @@ If the specified video device is being used by another process, or if it is disa
125
144
- A call to the `localVideoStream.switchSource()` method will cause `cameraStartFailed` to be set to true.
126
145
Our Call Diagnostics guide provides additional information on how to diagnose call related issues.
127
146
128
-
## Place a 1:1 call with video camera
129
-
130
-
> [!IMPORTANT]
131
-
> Currently only one outgoing local video stream is supported.
132
-
133
-
To place a video call, you have to enumerate local cameras by using the `getCameras()` method in `deviceManager`.
134
-
135
-
After you select a camera, use it to construct a `LocalVideoStream` instance. Pass it within `videoOptions` as an item within the `localVideoStream` array to the `startCall` method.
- When your call connects, it automatically starts sending a video stream from the selected camera to the other participant. This also applies to the `Call.Accept()` video options and `CallAgent.join()` video options.
148
-
149
147
## Render remote participant video streams
150
148
151
149
To list the video streams and screen sharing streams of remote participants, inspect the `videoStreams` collections:
0 commit comments