Implement pause voice broadcast recording (#9469)

This commit is contained in:
Michael Weimann 2022-10-20 14:44:41 +02:00 committed by GitHub
parent be281fd735
commit b7996a2e49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 272 additions and 27 deletions

View file

@ -52,23 +52,31 @@ export const useVoiceBroadcastRecording = (recording: VoiceBroadcastRecording) =
const confirmed = await showStopBroadcastingDialog();
if (confirmed) {
recording.stop();
await recording.stop();
}
};
const [live, setLive] = useState(recording.getState() === VoiceBroadcastInfoState.Started);
const [recordingState, setRecordingState] = useState(recording.getState());
useTypedEventEmitter(
recording,
VoiceBroadcastRecordingEvent.StateChanged,
(state: VoiceBroadcastInfoState, _recording: VoiceBroadcastRecording) => {
setLive(state === VoiceBroadcastInfoState.Started);
setRecordingState(state);
},
);
const live = [
VoiceBroadcastInfoState.Started,
VoiceBroadcastInfoState.Paused,
VoiceBroadcastInfoState.Running,
].includes(recordingState);
return {
live,
recordingState,
room,
sender: recording.infoEvent.sender,
stopRecording,
toggleRecording: recording.toggle,
};
};