Skip to content

Commit 2c7e817

Browse files
authored
Merge pull request #265768 from ShawnJackson/record-calls
[AQ] edit pass: record-calls
2 parents c2b11d5 + 6707fea commit 2c7e817

File tree

11 files changed

+105
-85
lines changed

11 files changed

+105
-85
lines changed

articles/communication-services/how-tos/calling-sdk/includes/install-sdk/install-sdk-android.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ ms.topic: include
55
ms.date: 09/08/2021
66
ms.author: rifox
77
---
8+
89
## Install the SDK
910

10-
Locate your project level build.gradle and make sure to add `mavenCentral()` to the list of repositories under `buildscript` and `allprojects`
11+
Locate your project-level *build.gradle* file and add `mavenCentral()` to the list of repositories under `buildscript` and `allprojects`:
12+
1113
```groovy
1214
buildscript {
1315
repositories {
@@ -27,7 +29,8 @@ allprojects {
2729
}
2830
}
2931
```
30-
Then, in your module level build.gradle add the following lines to the dependencies section
32+
33+
Then, in your module-level *build.gradle* file, add the following lines to the `dependencies` section:
3134

3235
```groovy
3336
dependencies {
@@ -39,27 +42,30 @@ dependencies {
3942

4043
### Initialize the required objects
4144

42-
To create a `CallAgent` instance you have to call the `createCallAgent` method on a `CallClient` instance. This asynchronously returns a `CallAgent` instance object.
43-
The `createCallAgent` method takes a `CommunicationUserCredential` as an argument, which encapsulates an [access token](../../../../quickstarts/identity/access-tokens.md).
44-
To access the `DeviceManager`, a callAgent instance must be created first, and then you can use the `CallClient.getDeviceManager` method to get the DeviceManager.
45+
To create a `CallAgent` instance, you have to call the `createCallAgent` method on a `CallClient` instance. This call asynchronously returns a `CallAgent` instance object.
46+
47+
The `createCallAgent` method takes `CommunicationUserCredential` as an argument, which encapsulates an [access token](../../../../quickstarts/identity/access-tokens.md).
48+
49+
To access `DeviceManager`, you must create a `callAgent` instance first. Then you can use the `CallClient.getDeviceManager` method to get `DeviceManager`.
4550

4651
```java
4752
String userToken = '<user token>';
4853
CallClient callClient = new CallClient();
4954
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(userToken);
50-
android.content.Context appContext = this.getApplicationContext(); // From within an Activity for instance
55+
android.content.Context appContext = this.getApplicationContext(); // From within an activity, for instance
5156
CallAgent callAgent = callClient.createCallAgent(appContext, tokenCredential).get();
5257
DeviceManager deviceManager = callClient.getDeviceManager(appContext).get();
5358
```
59+
5460
To set a display name for the caller, use this alternative method:
5561

5662
```java
5763
String userToken = '<user token>';
5864
CallClient callClient = new CallClient();
5965
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(userToken);
60-
android.content.Context appContext = this.getApplicationContext(); // From within an Activity for instance
66+
android.content.Context appContext = this.getApplicationContext(); // From within an activity, for instance
6167
CallAgentOptions callAgentOptions = new CallAgentOptions();
6268
callAgentOptions.setDisplayName("Alice Bob");
6369
DeviceManager deviceManager = callClient.getDeviceManager(appContext).get();
6470
CallAgent callAgent = callClient.createCallAgent(appContext, tokenCredential, callAgentOptions).get();
65-
```
71+
```

articles/communication-services/how-tos/calling-sdk/includes/install-sdk/install-sdk-ios.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@ ms.topic: include
55
ms.date: 09/08/2021
66
ms.author: rifox
77
---
8+
89
## Set up your system
910

1011
### Create the Xcode project
1112

12-
In Xcode, create a new iOS project and select the **Single View App** template. This quickstart uses the [SwiftUI framework](https://developer.apple.com/xcode/swiftui/), so you should set the **Language** to **Swift** and **User Interface** to **SwiftUI**.
13+
In Xcode, create a new iOS project and select the **Single View App** template. This quickstart uses the [SwiftUI framework](https://developer.apple.com/xcode/swiftui/), so you should set **Language** to **Swift** and set **Interface** to **SwiftUI**.
1314

14-
You're not going to create unit tests or UI tests during this quickstart. Feel free to clear the **Include Unit Tests** and **Include UI Tests** text boxes.
15+
You're not going to create tests during this quickstart. Feel free to clear the **Include Tests** checkbox.
1516

1617
:::image type="content" source="../../../../quickstarts/voice-video-calling/media/ios/xcode-new-ios-project.png" alt-text="Screenshot that shows the window for creating a project within Xcode.":::
1718

18-
### Install the package and dependencies with CocoaPods
19+
### Install the package and dependencies by using CocoaPods
1920

20-
1. Create a Podfile for your application, like this:
21+
1. Create a Podfile for your application, like this example:
2122

2223
```
2324
platform :ios, '13.0'
@@ -27,13 +28,13 @@ You're not going to create unit tests or UI tests during this quickstart. Feel f
2728
end
2829
```
2930
2. Run `pod install`.
30-
3. Open `.xcworkspace` with Xcode.
31+
3. Open `.xcworkspace` by using Xcode.
3132
3233
### Request access to the microphone
3334
34-
To access the device's microphone, you need to update your app's information property list with `NSMicrophoneUsageDescription`. You set the associated value to a `string` that will be included in the dialog that the system uses to request access from the user.
35+
To access the device's microphone, you need to update your app's information property list by using `NSMicrophoneUsageDescription`. You set the associated value to a string that will be included in the dialog that the system uses to request access from the user.
3536
36-
Right-click the `Info.plist` entry of the project tree and select **Open As** > **Source Code**. Add the following lines in the top-level `<dict>` section, and then save the file.
37+
Right-click the *Info.plist* entry of the project tree, and then select **Open As** > **Source Code**. Add the following lines in the top-level `<dict>` section, and then save the file.
3738
3839
```xml
3940
<key>NSMicrophoneUsageDescription</key>
@@ -42,7 +43,7 @@ Right-click the `Info.plist` entry of the project tree and select **Open As** >
4243

4344
### Set up the app framework
4445

45-
Open your project's *ContentView.swift* file and add an `import` declaration to the top of the file to import the `AzureCommunicationCalling` library. In addition, import `AVFoundation`. You'll need it for audio permission requests in the code.
46+
Open your project's *ContentView.swift* file. Add an `import` declaration to the top of the file to import the `AzureCommunicationCalling` library. In addition, import `AVFoundation`. You'll need it for audio permission requests in the code.
4647

4748
```swift
4849
import AzureCommunicationCalling
@@ -53,7 +54,7 @@ import AVFoundation
5354

5455
To create a `CallAgent` instance from `CallClient`, you have to use a `callClient.createCallAgent` method that asynchronously returns a `CallAgent` object after it's initialized.
5556

56-
To create a call client, you have to pass a `CommunicationTokenCredential` object.
57+
To create a call client, pass a `CommunicationTokenCredential` object:
5758

5859
```swift
5960
import AzureCommunication
@@ -76,7 +77,7 @@ public func fetchTokenSync(then onCompletion: TokenRefreshOnCompletion) {
7677
}
7778
```
7879

79-
Pass the `CommunicationTokenCredential` object that you created to `CallClient`, and set the display name.
80+
Pass the `CommunicationTokenCredential` object that you created to `CallClient`, and set the display name:
8081

8182
```swift
8283
self.callClient = CallClient()
@@ -92,4 +93,4 @@ self.callClient!.createCallAgent(userCredential: userCredential!,
9293
print("Create agent failed")
9394
}
9495
})
95-
```
96+
```

articles/communication-services/how-tos/calling-sdk/includes/install-sdk/install-sdk-web.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.author: rifox
77
---
88
## Install the SDK
99

10-
Use the `npm install` command to install the Azure Communication Services calling and common SDKs for JavaScript.
10+
Use the `npm install` command to install the Azure Communication Services Common and Calling SDKs for JavaScript:
1111

1212
```console
1313
npm install @azure/communication-common --save
@@ -16,7 +16,7 @@ npm install @azure/communication-calling --save
1616

1717
## Initialize required objects
1818

19-
A CallClient, instance is required for most call operations. Let's create a new `CallClient` instance. You can configure it with custom options like a Logger instance.
19+
A `CallClient` instance is required for most call operations. Here, you create a new `CallClient` instance. You can configure it with custom options like a `Logger` instance.
2020

2121
When you have a `CallClient` instance, you can create a `CallAgent` instance by calling the `createCallAgent` method on the `CallClient` instance. This method asynchronously returns a `CallAgent` instance object.
2222

@@ -32,7 +32,7 @@ const { AzureLogger, setLogLevel } = require("@azure/logger");
3232
// Set the logger's log level
3333
setLogLevel('verbose');
3434

35-
// Redirect log output to wherever desired. To console, file, buffer, REST API, etc...
35+
// Redirect log output to console, file, buffer, REST API, or whatever location you want
3636
AzureLogger.log = (...args) => {
3737
console.log(...args); // Redirect log output to console
3838
};
@@ -42,4 +42,4 @@ callClient = new CallClient(options);
4242
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
4343
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
4444
const deviceManager = await callClient.getDeviceManager()
45-
```
45+
```

articles/communication-services/how-tos/calling-sdk/includes/install-sdk/install-sdk-windows.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,23 @@ ms.topic: include
55
ms.date: 05/30/2023
66
ms.author: jowang
77
---
8-
## Setting up
8+
## Set up your system
99

10-
### Creating the Visual Studio project
10+
### Create the Visual Studio project
1111

12-
For UWP app, in Visual Studio 2022, create a new `Blank App (Universal Windows)` project. After entering the project name, feel free to pick any Windows SDK greater than `10.0.17763.0`.
12+
For a UWP app, in Visual Studio 2022, create a new **Blank App (Universal Windows)** project. After you enter the project name, feel free to choose any Windows SDK later than 10.0.17763.0.
1313

14-
For WinUI 3 app, create a new project with the `Blank App, Packaged (WinUI 3 in Desktop)` template to set up a single-page WinUI 3 app. [Windows App SDK version 1.3](/windows/apps/windows-app-sdk/stable-channel#version-13) and above is required.
15-
### Install the package and dependencies with NuGet Package Manager
14+
For a WinUI 3 app, create a new project with the **Blank App, Packaged (WinUI 3 in Desktop)** template to set up a single-page WinUI 3 app. [Windows App SDK version 1.3](/windows/apps/windows-app-sdk/stable-channel#version-13) or later is required.
15+
16+
### Install the package and dependencies by using NuGet Package Manager
1617

1718
The Calling SDK APIs and libraries are publicly available via a NuGet package.
18-
The following steps exemplify how to find, download, and install the Calling SDK NuGet package.
1919

20-
1. Open NuGet Package Manager (`Tools` -> `NuGet Package Manager` -> `Manage NuGet Packages for Solution`)
21-
2. Click on `Browse` and then type `Azure.Communication.Calling.WindowsClient` in the search box.
22-
3. Make sure that `Include prerelease` check box is selected.
23-
4. Click on the `Azure.Communication.Calling.WindowsClient` package, select `Azure.Communication.Calling.WindowsClient` [1.4.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.4.0-beta.1) or newer version.
24-
5. Select the checkbox corresponding to the CS project on the right-side tab.
25-
6. Click on the `Install` button.
20+
The following steps exemplify how to find, download, and install the Calling SDK NuGet package:
21+
22+
1. Open NuGet Package Manager by selecting **Tools** > **NuGet Package Manager** > **Manage NuGet Packages for Solution**.
23+
2. Select **Browse**, and then enter `Azure.Communication.Calling.WindowsClient` in the search box.
24+
3. Make sure that the **Include prerelease** check box is selected.
25+
4. Select the `Azure.Communication.Calling.WindowsClient` package, and then select `Azure.Communication.Calling.WindowsClient` [1.4.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Calling.WindowsClient/1.4.0-beta.1) or a newer version.
26+
5. Select the checkbox that corresponds to the Communication Services project on the right-side tab.
27+
6. Select the **Install** button.

articles/communication-services/how-tos/calling-sdk/includes/record-calls/record-calls-android.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@ ms.author: rifox
88
[!INCLUDE [Install SDK](../install-sdk/install-sdk-android.md)]
99

1010
## Record calls
11-
> [!WARNING]
12-
> Up until version 1.1.0 and beta release version 1.1.0-beta.1 of the Azure Communication Services Calling Android SDK has the `isRecordingActive` and `addOnIsRecordingActiveChangedListener` are part of the `Call` object. For new beta releases, those APIs have been moved as an extended feature of `Call` just like described below.
1311

1412
> [!NOTE]
15-
> This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment. To use this api please use 'beta' release of Azure Communication Services Calling Android SDK
13+
> This API is provided as a preview for developers and might change based on feedback that we receive. Don't use this API in a production environment. To use this API, use the beta release of the Azure Communication Services Calling Android SDK.
14+
15+
Call recording is an extended feature of the core `Call` object.
16+
17+
> [!WARNING]
18+
> Up until version 1.1.0 and beta release version 1.1.0-beta.1 of the Azure Communication Services Calling Android SDK, `isRecordingActive` and `addOnIsRecordingActiveChangedListener` were part of the `Call` object. For new beta releases, those APIs were moved as an extended feature of `Call`.
1619
17-
Call recording is an extended feature of the core `Call` object. You first need to obtain the recording feature object:
20+
You first need to obtain the recording feature object:
1821

1922
```java
2023
RecordingCallFeature callRecordingFeature = call.feature(Features.RECORDING);
@@ -30,15 +33,15 @@ You can also subscribe to recording changes:
3033

3134
```java
3235
private void handleCallOnIsRecordingChanged(PropertyChangedEvent args) {
33-
boolean isRecordingActive = callRecordingFeature.isRecordingActive();
36+
boolean isRecordingActive = callRecordingFeature.isRecordingActive();
3437
}
3538

3639
callRecordingFeature.addOnIsRecordingActiveChangedListener(handleCallOnIsRecordingChanged);
3740
```
3841

39-
If you want to start recording from your application, please first follow [Calling Recording overview](../../../../concepts/voice-video-calling/call-recording.md) for the steps to set up call recording.
42+
If you want to start recording from your application, first follow [Call recording overview](../../../../concepts/voice-video-calling/call-recording.md) for the steps to set up call recording.
4043

41-
Once you have the call recording setup on your server, from your Android application you need to obtain the `ServerCallId` value from the call and then send it to your server to start the recording process. The `ServerCallId` value can be found using `getServerCallId()` from the `CallInfo` class, which can be found in the class object using `getInfo()`.
44+
After you set up call recording on your server, from your Android application, you need to obtain the `ServerCallId` value from the call and then send it to your server to start the recording process. You can find the `ServerCallId` value by using `getServerCallId()` from the `CallInfo` class. You can find the `CallInfo` class in the class object by using `getInfo()`.
4245

4346
```java
4447
try {
@@ -51,9 +54,9 @@ try {
5154
}
5255
```
5356

54-
When recording is started from the server, the event `handleCallOnIsRecordingChanged` will trigger and the value of `callRecordingFeature.isRecordingActive()` will be `true`.
57+
When you start recording from the server, the event `handleCallOnIsRecordingChanged` is triggered and the value of `callRecordingFeature.isRecordingActive()` is `true`.
5558

56-
Just like starting the call recording, if you want to stop the call recording you need to get the `ServerCallId` and send it to your recording server so that it can stop the call recording.
59+
Just like starting the call recording, if you want to stop the call recording, you need to get `ServerCallId` and send it to your recording server so that it can stop the recording:
5760

5861
```java
5962
try {
@@ -66,4 +69,4 @@ try {
6669
}
6770
```
6871

69-
When recording is stopped from the server, the event `handleCallOnIsRecordingChanged` will trigger and the value of `callRecordingFeature.isRecordingActive()` will be `false`.
72+
When you stop recording from the server, the event `handleCallOnIsRecordingChanged` is triggered and the value of `callRecordingFeature.isRecordingActive()` is `false`.

0 commit comments

Comments
 (0)