openvidu-components: Changed language only when captions are enabled

pull/759/head
Carlos Santos 2022-11-09 10:08:37 +01:00
parent a8e0fcfb79
commit d4cfd3893a
1 changed files with 12 additions and 10 deletions

View File

@ -343,16 +343,18 @@ export class SessionComponent implements OnInit, OnDestroy {
private subscribeToCaptionLanguage() {
this.captionLanguageSubscription = this.captionService.captionLangObs.subscribe(async (lang) => {
// Unsubscribe all streams from speech to text and re-subscribe with new language
this.log.d('Re-subscribe from STT because of language changed to ', lang.ISO);
for (const participant of this.participantService.getRemoteParticipants()) {
const streamManager = participant.getCameraConnection()?.streamManager;
if (!!streamManager?.stream) {
try {
await this.session.unsubscribeFromSpeechToText(streamManager.stream);
await this.session.subscribeToSpeechToText(streamManager.stream, lang.ISO);
} catch (error) {
this.log.e('Error re-subscribing to STT: ', error);
if (this.captionService.areCaptionsEnabled()) {
// Unsubscribe all streams from speech to text and re-subscribe with new language
this.log.d('Re-subscribe from STT because of language changed to ', lang.ISO);
for (const participant of this.participantService.getRemoteParticipants()) {
const streamManager = participant.getCameraConnection()?.streamManager;
if (!!streamManager?.stream) {
try {
await this.session.unsubscribeFromSpeechToText(streamManager.stream);
await this.session.subscribeToSpeechToText(streamManager.stream, lang.ISO);
} catch (error) {
this.log.e('Error re-subscribing to STT: ', error);
}
}
}
}