Ottenere serverCallId come requisito per le API del server di registrazione delle chiamate dall'applicazione JavaScript
In uno scenario peer-to peer chiamante usando l'SDK client chiamante, per usare La registrazione delle chiamate da Comunicazioni di Azure, è necessario ottenere l'oggetto serverCallId
.
Nell'esempio seguente viene illustrato come ottenere l'oggetto serverCallId
da un'applicazione server JavaScript.
La registrazione delle chiamate è una funzionalità estesa dell'API chiamata principale. Per prima cosa è necessario importare le funzionalità di chiamata dall'SDK chiamante.
import { Features} from "@azure/communication-calling";
È quindi possibile ottenere l'oggetto API della funzionalità di registrazione dall'istanza di chiamata:
const callRecordingApi = call.feature(Features.Recording);
Sottoscrivere le modifiche alla registrazione:
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);
Ottenere servercallId
, che può essere usato per avviare/arrestare/sospendere/riprendere le sessioni di registrazione.
Una volta connessa la chiamata, usare il metodo per ottenere l'ID getServerCallId
chiamata del server.
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);
});
}
});
});
});
Vedere anche
Per altre informazioni, vedere gli articoli seguenti:
- Informazioni sulle funzionalità di Sdk per chiamate
- Leggere altre informazioni sul funzionamento delle chiamate