最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - How to stream the blob - Stack Overflow

matteradmin7PV0评论

I am developing a radio system with a microphone, the system admin will speak into the microphone and the audio will be transmitted in real time to the User ... I'm newbie using node.js and I'm unsure of how to make the stream the audio from the microphone to the User ... can anyone help me?

I have the following problem, I have the audio from the microphone being recorded in a blob and I need to know how to stream live this blob ...

I do not have code to show only gives audio recording ...

    <script>
        function getByID(id) {
            return document.getElementById(id);
        }

        var recordAudio = getByID('record-audio'),
            stopRecordingAudio = getByID('stop-recording-audio');

        var audio = getByID('audio');


        var audioConstraints = {
            audio: true,
            video: false
        };

    </script>
    <script>
        var audioStream;
        var recorder;

        recordAudio.onclick = function() {
            if (!audioStream)
                navigator.getUserMedia(audioConstraints, function(stream) {
                    if (window.IsChrome) stream = new window.MediaStream(stream.getAudioTracks());
                    audioStream = stream;

                    audio.src = URL.createObjectURL(audioStream);
                    audio.muted = true;
                    audio.play();

                    // "audio" is a default type
                    recorder = window.RecordRTC(stream, {
                        type: 'audio'
                    });
                    recorder.startRecording();
                }, function() {
                });
            else {
                audio.src = URL.createObjectURL(audioStream);
                audio.muted = true;
                audio.play();
                if (recorder) recorder.startRecording();
            }

            window.isAudio = true;

            this.disabled = true;
            stopRecordingAudio.disabled = false;
        };


        stopRecordingAudio.onclick = function() {
            this.disabled = true;
            recordAudio.disabled = false;
            audio.src = '';

            if (recorder)
                recorder.stopRecording(function(url) {
                    audio.src = url;
                    audio.muted = false;
                    audio.play();

                    document.getElementById('audio-url-preview').innerHTML = '<a href="' + url + '" target="_blank">Recorded Audio URL</a>';

                });
        };

    </script>

I am developing a radio system with a microphone, the system admin will speak into the microphone and the audio will be transmitted in real time to the User ... I'm newbie using node.js and I'm unsure of how to make the stream the audio from the microphone to the User ... can anyone help me?

I have the following problem, I have the audio from the microphone being recorded in a blob and I need to know how to stream live this blob ...

I do not have code to show only gives audio recording ...

    <script>
        function getByID(id) {
            return document.getElementById(id);
        }

        var recordAudio = getByID('record-audio'),
            stopRecordingAudio = getByID('stop-recording-audio');

        var audio = getByID('audio');


        var audioConstraints = {
            audio: true,
            video: false
        };

    </script>
    <script>
        var audioStream;
        var recorder;

        recordAudio.onclick = function() {
            if (!audioStream)
                navigator.getUserMedia(audioConstraints, function(stream) {
                    if (window.IsChrome) stream = new window.MediaStream(stream.getAudioTracks());
                    audioStream = stream;

                    audio.src = URL.createObjectURL(audioStream);
                    audio.muted = true;
                    audio.play();

                    // "audio" is a default type
                    recorder = window.RecordRTC(stream, {
                        type: 'audio'
                    });
                    recorder.startRecording();
                }, function() {
                });
            else {
                audio.src = URL.createObjectURL(audioStream);
                audio.muted = true;
                audio.play();
                if (recorder) recorder.startRecording();
            }

            window.isAudio = true;

            this.disabled = true;
            stopRecordingAudio.disabled = false;
        };


        stopRecordingAudio.onclick = function() {
            this.disabled = true;
            recordAudio.disabled = false;
            audio.src = '';

            if (recorder)
                recorder.stopRecording(function(url) {
                    audio.src = url;
                    audio.muted = false;
                    audio.play();

                    document.getElementById('audio-url-preview').innerHTML = '<a href="' + url + '" target="_blank">Recorded Audio URL</a>';

                });
        };

    </script>
Share Improve this question asked Jun 6, 2014 at 18:58 Alan PSAlan PS 1972 silver badges12 bronze badges 1
  • 1 but WebRTC is not easy, I did not figured out how to – Alan PS Commented Jun 6, 2014 at 19:03
Add a ment  | 

1 Answer 1

Reset to default 2

I am no expert but I recalled that there are few articles about capturing audio on the html5rocks.

http://updates.html5rocks./2012/01/Web-Audio-FAQ http://www.html5rocks./en/tutorials/getusermedia/intro/#toc-webaudio-api

You should try to search in the npm library. I think it might have some streaming node modules. (Starting develop from a core node.js API is really hard, i couldn't figured it out too.)

Also take a look at this:
Node.js synchronized audio streaming between server and clients?

and here is node modules for sending binary data (i think it's support streaming a blob): http://binaryjs./

Hoped these helps!

Post a comment

comment list (0)

  1. No comments so far