web 端录音

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
    <button onclick="start()">录音</button>
    <button id="stop">停止</button>
</body>
<script>

    function play(blob){
        var reader = new FileReader();
        reader.onload = function(e) {
            var wavBase64 = e.target.result;
            console.log(wavBase64);  //此处输出为 wav格式的 base64 码
        }
        reader.readAsDataURL(blob);

        // var url = URL.createObjectURL(blob);
        // var audio = new Audio();
        // audio.src = url;
        // audio.play();
    }
    var stop = document.getElementById('stop');
    var chunks = [];
    var handleSuccess = function(stream) {  
        var mediaRecorder = new MediaRecorder(stream);

        stop.onclick = function() {
          mediaRecorder.stop();
        }

        mediaRecorder.onstop = function(e) {
            var blob = new Blob(chunks, { 'type' : 'audio/wav' });
            chunks = [];
            play(blob);
        }

        mediaRecorder.ondataavailable = function(e) {
          chunks.push(e.data);
        }
        mediaRecorder.start();
    };

    function start(){
        navigator.mediaDevices.getUserMedia({ audio: true, video: false }).then(handleSuccess);
    }

</script>
</html>


猜你喜欢

转载自qiqiliu.iteye.com/blog/2393026