export async function startRecording()

in client/src/util/audio.ts [36:63]


export async function startRecording(bufferSize: number, mimeTypes?: string[]): Promise<RecordingStream> {
  if (!audioRecordingIsAvailable()) {
    throw new Error('Browser does not support audio recording');
  }
  return new Promise<RecordingStream>((resolve, reject) => {
    navigator.mediaDevices.getUserMedia({video: false, audio: true}).then(
      (stream) => {
       if (typeof(MediaRecorder) !== 'undefined') {
          logger.log('Starting MediaRecorder recording');
          startMediaRecorderRecording(stream, mimeTypes).then(
            str => resolve(str),
            ex => reject(ex)
          );
        } else {
          logger.log('Starting AudioContext recording');
          startAudioContextRecording(stream, bufferSize).then(
            str => resolve(str),
            ex => reject(ex)
          );
        }
      },
      (err) => {
        logger.warn('Error creating audio stream', err);
        reject(err);
      }
    );
  });
}