---
description: The objective is to implemement Recording feature through the moderator
---

# Recording

Recording a call by a moderator is a useful feature in many communication platforms, providing a way to capture important discussions or to capture the content of the discussion for future reference, documentation, or sharing with participants who couldn't attend.

Moderator can Start, Stop, Pause and Resume the Recording.

**Start the Recording:**

Start recording a call using the specified recording profile. If no recording profile is specified, a default recorder profile will be selected.

**API:**

&#x20;**VidyoConnectorStartRecording** starts recording a conference using the specified recording profile. Must be called on behalf of a moderator. Fails if another recording is in progress.

Interface used here is IStartRecording and callback triggered is **VidyoConnectorOnRecordingServiceStartResult**

**Example:**&#x20;

if (result != ConnectorModerationResult.ConnectormoderationresultOK)

{

&#x20;               IsRecordingStarted = false;

&#x20;               IsRecordingStopped = true;

&#x20;               IsRecordingPaused = false;

&#x20;}

&#x20;else

&#x20;{

&#x20;               IsRecordingStarted = true;

&#x20;               IsRecordingStopped = false;

&#x20;               IsRecordingPaused = false;

&#x20;}

**Pause Recording:**

**API:**

**VidyoConnectorPauseRecording** Asynchronously pauses recording a conference. Must be called on behalf of a moderator. Fails in case recording is not in progress or already paused. Calls a callback upon completion.

Interface used here is IPauseRecording and callback triggered is **VidyoConnectorOnRecordingServicePauseResult**

**Example:**&#x20;

&#x20;if (result != ConnectorModerationResult.ConnectormoderationresultOK)

&#x20;{

&#x20;               IsRecordingPaused = false;

&#x20;}

&#x20;else

&#x20;{

&#x20;               IsRecordingPaused = true;

&#x20;}    &#x20;

**Resume Recording:**

**API:**

**VidyoConnectorResumeRecording** Asynchronously resumes recording a conference. Must be called on behalf of a moderator. Fails in case recording is not in progress or not paused. Calls a callback upon completion.

Interface used here is IResumeRecording and callback triggered is **VidyoConnectorOnRecordingServiceResumeResult**

**Example:**&#x20;

if (result != ConnectorModerationResult.ConnectormoderationresultOK)

&#x20;{

&#x20;               IsRecordingPaused = true;

&#x20; }

&#x20; else

&#x20; {

&#x20;               IsRecordingPaused = false;

&#x20;  }

**Stop Recording:**

**API:**

**VidyoConnectorStopRecording** Asynchronously stops recording a conference. Must be called on behalf of a moderator. Fails in case there is no recording in progress. Calls a callback upon completion.

Interface used here is IStopRecording and callback triggered is **VidyoConnectorOnRecordingServiceResumeResult**

**Example:**&#x20;

if (result != ConnectorModerationResult.ConnectormoderationresultOK)

{

&#x20;               IsRecordingStarted = true;

&#x20;               IsRecordingStopped = false;

&#x20;               IsRecordingPaused = false;

&#x20;}

else

&#x20;{

&#x20;               IsRecordingStarted = false;

&#x20;               IsRecordingStopped = true;

&#x20;               IsRecordingPaused = false;

&#x20;}
