我正在开发一个带麦克风的无线电系统,系统管理员将对着麦克风说话,音频将实时传输给用户......我是使用node.js的新手,我不确定如何使音频流从麦克风流向用户...任何人都可以帮助我吗?
我有以下问题,我将麦克风中的音频记录在blob中,我需要知道如何直播这个blob ......
我没有代码只显示音频录制...
<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>
答案 0 :(得分:2)
我不是专家,但我记得很少有关于在html5rocks上捕获音频的文章。
http://updates.html5rocks.com/2012/01/Web-Audio-FAQ http://www.html5rocks.com/en/tutorials/getusermedia/intro/#toc-webaudio-api
您应该尝试在npm库中搜索。我认为它可能有一些流节点模块。 (从核心node.js API开始开发真的很难,我也想不出来。)
另请看一下:
Node.js synchronized audio streaming between server and clients?
这里是用于发送二进制数据的节点模块(我认为它支持流式传输blob):http://binaryjs.com/
希望这些有帮助!