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
In this quickstart, you'll learn how implement raw media access using the Azure Communication Services Calling SDK for Android.
19
+
In this quickstart, you'll learn how to implement raw media access using the Azure Communication Services Calling SDK for Android.
20
20
21
21
The Azure Communication Services Calling SDK offers APIs allowing apps to generate their own video frames to send to remote participants.
22
22
@@ -29,9 +29,26 @@ Since the app will be generating the video frames, the app must inform the Azure
29
29
30
30
The app must register a delegate to get notified about when it should start or stop producing video frames. The delegate event will inform the app which video format is more appropriate for the current network conditions.
31
31
32
+
### Supported Video Resolutions
33
+
34
+
| Aspect Ratio | Resolution | Maximum FPS |
35
+
| :--: | :-: | :-: |
36
+
| 16x9 | 1080p | 30 |
37
+
| 16x9 | 720p | 30 |
38
+
| 16x9 | 540p | 30 |
39
+
| 16x9 | 480p | 30 |
40
+
| 16x9 | 360p | 30 |
41
+
| 16x9 | 270p | 15 |
42
+
| 16x9 | 240p | 15 |
43
+
| 16x9 | 180p | 15 |
44
+
| 4x3 | VGA (640x480) | 30 |
45
+
| 4x3 | 424x320 | 15 |
46
+
| 4x3 | QVGA (320x240) | 15 |
47
+
| 4x3 | 212x160 | 15 |
48
+
32
49
The following is an overview of the steps required to create a virtual video stream.
33
50
34
-
1. Create an array of `VideoFormat` with the video formats supported by the app. It is fine to have only one video format supported, but at least one of the provided video formats must be of the `VideoFrameKind::VideoSoftware` type. When multiple formats are provided, the order of the format in the list does not influence or prioritize which one will be used. The selected format is based on external factors like network bandwidth.
51
+
1. Create an array of `VideoFormat` with the video formats supported by the app. It is fine to have only one video format supported, but at least one of the provided video formats must be of the `VideoFrameKind::VideoSoftware` type. When multiple formats are provided, the order of the format in the list doesn't influence or prioritize which one will be used. The selected format is based on external factors like network bandwidth.
3.Subscribe to `RawOutgoingVideoStreamOptions::addOnOutgoingVideoStreamStateChangedListener` delegate. This delegate will inform the state of the current stream, its important that you do not send frames if the state is no equal to `OutgoingVideoStreamState.STARTED`.
74
+
3.Subscribe to `RawOutgoingVideoStreamOptions::addOnOutgoingVideoStreamStateChangedListener` delegate. This delegate will inform the state of the current stream, it's important that you don't send frames if the state is no equal to `OutgoingVideoStreamState.STARTED`.
@@ -203,6 +220,12 @@ Repeat steps `1 to 4` from the previous VirtualRawOutgoingVideoStream tutorial.
203
220
204
221
Since the Android system generates the frames, you must implement your own foreground service to capture the frames and send them through using our Azure Communication Services Calling API
205
222
223
+
### Supported Video Resolutions
224
+
225
+
| Aspect Ratio | Resolution | Maximum FPS |
226
+
| :--: | :-: | :-: |
227
+
| Anything | Anything | 30 |
228
+
206
229
The following is an overview of the steps required to create a screen share video stream.
207
230
208
231
1. Add this permission to your `Manifest.xml` file inside your Android project
@@ -219,7 +242,7 @@ The following is an overview of the steps required to create a screen share vide
219
242
screenShareRawOutgoingVideoStream = new ScreenShareRawOutgoingVideoStream(rawOutgoingVideoStreamOptions);
220
243
```
221
244
222
-
3. Request needed permissions for screen capture on Android, once this method is called Android will call automatically `onActivityResult` containing the request code we have sent and the result of the operation, expect `Activity.RESULT_OK` if the permission has been provided by the user if so attach the screenShareRawOutgoingVideoStream to the call and start your own foreground service to capture the frames.
245
+
3. Request needed permissions for screen capture on Android, once this method is called Android will call automatically `onActivityResult` containing the request code we've sent and the result of the operation, expect `Activity.RESULT_OK` if the permission has been provided by the user if so attach the screenShareRawOutgoingVideoStream to the call and start your own foreground service to capture the frames.
0 commit comments