Есть ли способ остановить объект MediaRecorder после того, как одно изображение из видеокадра захвачено при использовании в расширении Chrome? - PullRequest
1 голос
/ 07 мая 2019

Вот мой код расширения Chrome, который захватывает экраны. Я хочу остановить объект после того, как он захватил один кадр, используя MediaRecoder, но он не может остановиться с dataavailable

if (localStorage.getItem('EventAgeStamps')) {
        var EventAgeStampsObj = JSON.parse(localStorage.getItem('EventAgeStamps'));
        var capturetime = new Date();
        var capturemin = capturetime.getMinutes();
        var seconds = capturetime.getSeconds();
        var screens = EventAgeStampsObj.screens;

        for (i = 0; i < screens.length; i++) {
            var j = 0;
            if ((capturemin == screens[i]) && (seconds > 15 && seconds < 17)) {
                IsPause = false;
                var mediaRecorder = new MediaRecorder(stream, {mimeType: 'video/webm'});
                // mediaRecorder.start(5000);
                if (mediaRecorder.state == 'inactive')
                    mediaRecorder.start(5000);
                else if (mediaRecorder.state == 'paused')
                    mediaRecorder.resume(5000);

                mediaRecorder.addEventListener('dataavailable', event = > {
                    if(event.data && event.data.size > 100000
            )
                {
                    file = new File([event.data], getFileName('mp4'), {
                        type: 'video/mp4'
                    });
                    if (j == 0) {
                        IsPause = true;
                        CrossPlatformScreens(file, j);
                    }
                    j++;
                    mediaRecorder.pause();
                    mediaRecorder = null;
                }
            })
                ;
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...