diff --git a/config.js b/config.js index 6c301a4da0..d21551c3bf 100644 --- a/config.js +++ b/config.js @@ -451,6 +451,10 @@ var config = { // // Enables automatic turning on transcribing when recording is started // autoTranscribeOnRecord: false, + + // // Enables automatic request of subtitles when transcriber is present in the meeting, uses the default + // // language that is set + // autoCaptionOnTranscribe: false, // }, // Misc diff --git a/react/features/base/config/configType.ts b/react/features/base/config/configType.ts index 117a671340..8d65736da1 100644 --- a/react/features/base/config/configType.ts +++ b/react/features/base/config/configType.ts @@ -576,6 +576,7 @@ export interface IConfig { transcribeWithAppLanguage?: boolean; transcribingEnabled?: boolean; transcription?: { + autoCaptionOnTranscribe?: boolean; autoTranscribeOnRecord?: boolean; enabled?: boolean; preferredLanguage?: string; diff --git a/react/features/subtitles/middleware.ts b/react/features/subtitles/middleware.ts index 6743becb71..409cf5359d 100644 --- a/react/features/subtitles/middleware.ts +++ b/react/features/subtitles/middleware.ts @@ -6,6 +6,7 @@ import { isJwtFeatureEnabled } from '../base/jwt/functions'; import JitsiMeetJS from '../base/lib-jitsi-meet'; import { isLocalParticipantModerator } from '../base/participants/functions'; import MiddlewareRegistry from '../base/redux/MiddlewareRegistry'; +import { TRANSCRIBER_JOINED } from '../transcribing/actionTypes'; import { SET_REQUESTING_SUBTITLES, @@ -80,6 +81,15 @@ MiddlewareRegistry.register(store => next => action => { _requestingSubtitlesChange(store, toggledValue, state._language); break; } + case TRANSCRIBER_JOINED: { + const { transcription } = store.getState()['features/base/config']; + + if (transcription?.autoCaptionOnTranscribe) { + store.dispatch(setRequestingSubtitles(true)); + } + + break; + } case SET_REQUESTING_SUBTITLES: _requestingSubtitlesChange(store, action.enabled, action.language); break; diff --git a/react/features/transcribing/subscriber.ts b/react/features/transcribing/subscriber.ts index dceddfa125..37f4f290db 100644 --- a/react/features/transcribing/subscriber.ts +++ b/react/features/transcribing/subscriber.ts @@ -12,7 +12,7 @@ import { isLiveStreamingRunning, isRecordingRunning } from '../recording/functio import { isRecorderTranscriptionsRunning } from './functions'; /** - * Listens for large video participant ID changes. + * Listens for transcriber status change. */ StateListenerRegistry.register( /* selector */ isRecorderTranscriptionsRunning,