Как отключить событие в JavaScript - PullRequest
0 голосов
/ 10 июня 2019

Я делаю сценарий транскрипции аудио для моей веб-страницы, и я хочу, чтобы он прекратил прослушивание пользователя, когда он захватывает тишину, я могу захватить тишину, но я не могу удалить или отключить событие 'stop_speaking'.Есть ли способ сделать это?если нет, как я могу решить мою проблему?thx.

вот мой код:

function bg_startRecording() {    
    navigator.mediaDevices.getUserMedia({
        video: false,
        audio: true
        }).then(async function(stream) {
            recorder = RecordRTC(stream, {
                type: 'audio',
                mimeType: 'audio/wav',
                recorderType: StereoAudioRecorder,
                disableLogs: false,
                numberOfAudioChannels: 1,
            });
            recorder.startRecording();
            var options = {};
            speechEvents = hark(stream, options);
            speechEvents.on('stopped_speaking', function() {
                speechEvents.off('stopped_speaking'); <----- throw an error
                bg_stopRecording() //function to stop recording and transcript
            });

        }) 
};

Ошибка:

main.js:49 Uncaught TypeError: speechEvents.off is not a function
    at Object.stopped_speaking (main.js:49)
    at harker.emit (hark.js:16)
    at hark.js:109
...