JavaScript 애플리케이션에서 호출 기록 서버 API에 대한 요구 사항으로 serverCallId 가져오기
통화 클라이언트 SDK를 사용하는 피어 투 피어 통화 시나리오에서 Azure Communications의 통화 녹음/녹화를 사용하려면 serverCallId
를 가져와야 합니다.
다음 예제에서는 JavaScript 서버 애플리케이션에서 serverCallId
를 가져오는 방법을 보여 줍니다.
통화 녹음/녹화는 핵심 통화 API의 확장 기능입니다. 먼저 통화 SDK에서 통화 기능을 가져와야 합니다.
import { Features} from "@azure/communication-calling";
그런 다음, 통화 인스턴스에서 레코딩 기능 API 개체를 가져올 수 있습니다.
const callRecordingApi = call.feature(Features.Recording);
녹음/녹화 변경 내용 구독:
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);
녹음/녹화 세션을 시작/중지/일시 중지/계속하는 데 사용할 수 있는 servercallId
가져오기
통화가 연결되면 getServerCallId
메서드를 사용하여 서버 통화 ID를 가져옵니다.
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);
});
}
});
});
});
참고 항목
자세한 내용은 다음 문서를 참조하세요.