Как записать только аудио в MediaStreamRecorder? - PullRequest
0 голосов
/ 19 февраля 2020

У меня небольшая проблема, но я не могу решить ее самостоятельно, я создал программу, которая может вызывать видеоконференцию и записывать все видео, но это занимает 1 час, а размер файла слишком велик.

Есть ли какое-либо решение, чтобы уменьшить размер файла или просто записать только аудио. Я использую MultiStreamRecorder.js в MediaRecorder.js.

Вот мой код.

multiStreamRecorder.ondataavailable = function (blob) {
    data.push(blob);

    var fileName = getFileName('webm');
    var scheduleId = $('#stop-recording').data('id');
    var fileObject = new File([data[0]], fileName, {
        type: data[0].type
    });
    var objectUrl = URL.createObjectURL(data[0]);

    var formData = new FormData();
        formData.append('video_blob', fileObject);
        formData.append('video_filename', fileObject.name);
        formData.append('schedule_id', scheduleId);

    $.ajax({
        url: '{{ url('/') }}/store',
        data: formData,
        cache: false,
        contentType: false,
        processData: false,
        type: 'POST',
        success: function(response) {
            //
        }
    });
};
multiMediaRecorder.start();

//
function getFileName(fileExtension) {
    var d = new Date();
    var year = d.getUTCFullYear();
    var month = d.getUTCMonth();
    var date = d.getUTCDate();
    return year + month + date + '-' + getRandomString() + '.' + fileExtension;
}
...