Задать вопрос
krdpsr
@krdpsr
loading...

Как с микрофона записать звук в браузере?

нужна библиотека или работающий пример
звук надо брать с микрофона кодировать с потерями например в ogg и получать в виде датаурл
(надо чтобы было не в waw)
достаточно чтобы работало в хроме
  • Вопрос задан
  • 272 просмотра
Подписаться 2 Простой 3 комментария
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Запись звука дело не хитрое. Простейший пример:
navigator.mediaDevices.getUserMedia({ audio: true}).then(function(stream) {
    
    var record = new MediaRecorder(stream);

    var binary = []; // Переменная для записи сырых бинарных данных

    // Обработчик для записи сырых бинарных данных:
    
    record.addEventListener('dataavailable', function(event) {
        binary.push(event.data);
    });
    
    record.start(); // Старт записи

    // Стоп записи через 5 сек:
    
    setTimeout(function() { record.stop(); }, 5000);

    // Обработчик для получения Data URL:
    
    record.addEventListener('stop', async function() {

        var blob = new Blob(binary, { type: 'audio/wav' });
        
        var reader = new FileReader();
        
        reader.readAsDataURL(blob);
        
        reader.onload = function() {
            
            console.log(reader.result);
            
            var a = document.createElement('a');
            a.href = reader.result;
            a.target = '_blank';
            a.download = 'test.wav';
            a.click();
            
        };
        
    });
    
});

Если нужен именно mp3, то используйте какую-нибудь готовую библиотеку, типа этого:
https://github.com/Audior/Recordmp3js
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы