Obter serverCallId como um requisito para as APIs do servidor de gravação de chamadas a partir da aplicação JavaScript
Num cenário de chamadas ponto a ponto com o SDK cliente de chamadas, para utilizar a Gravação de Chamadas do Azure Communications, terá de obter o serverCallId
.
O exemplo seguinte mostra-lhe como obter a a partir de uma aplicação serverCallId
de servidor JavaScript.
A gravação de chamadas é uma funcionalidade expandida da API de Chamadas principal. Primeiro, tem de importar funcionalidades de chamada do SDK de Chamadas.
import { Features} from "@azure/communication-calling";
Em seguida, pode obter o objeto da API da funcionalidade de gravação a partir da instância de chamada:
const callRecordingApi = call.feature(Features.Recording);
Subscrever alterações de gravação:
const recordingStateChanged = () => {
let recordings = callRecordingApi.recordings;
let state = SDK.RecordingState.None;
if (recordings.length > 0) {
state = recordings.some(r => r.state == SDK.RecordingState.Started)
? SDK.RecordingState.Started
: SDK.RecordingState.Paused;
}
console.log(`RecordingState: ${state}`);
}
const recordingsChangedHandler = (args: { added: SDK.RecordingInfo[], removed: SDK.RecordingInfo[]}) => {
args.added?.forEach(a => {
a.on('recordingStateChanged', recordingStateChanged);
});
args.removed?.forEach(r => {
r.off('recordingStateChanged', recordingStateChanged);
});
recordingStateChanged();
};
callRecordingApi.on('recordingsUpdated', recordingsChangedHandler);
Obtenha servercallId
, que pode ser utilizado para iniciar/parar/colocar em pausa/retomar sessões de gravação.
Assim que a chamada estiver ligada, utilize o getServerCallId
método para obter o ID de chamada do servidor.
callAgent.on('callsUpdated', (e: { added: Call[]; removed: Call[] }): void => {
e.added.forEach((addedCall) => {
addedCall.on('stateChanged', (): void => {
if (addedCall.state === 'Connected') {
addedCall.info.getServerCallId().then(result => {
dispatch(setServerCallId(result));
}).catch(err => {
console.log(err);
});
}
});
});
});
Ver também
Para obter mais informações, veja os seguintes artigos:
- Saiba mais sobre as capacidades do SDK de chamadas
- Saiba mais sobre como funciona a chamada