因此,我试图捕捉音频,然后在NodeJS中返回一个音频直播流。我希望响应是这样的 例子. 请注意浏览器如何在媒体播放器中打开该文件。
我目前的解决方案看起来像这样,但它将呈现为 "没有找到支持的格式和mime类型的视频"。
const express = require("express");
const app = express();
const AudioRecorder = require("node-audiorecorder");
app.get("/stream.wav", function (req, res) {
res.set({
"Content-Type": "audio/wav",
});
audioRecorder.start().stream().pipe(res);
});
现场直播的工作,如果我写的流到一个文件(代码如下),并打开所述文件与VLC。它会不断地写到文件和VLC不会有任何问题,跟着一起。
const fileStream = fs.createWriteStream(fileName, { encoding: "binary" });
// Start and write to the file.
//audioRecorder.start().stream().pipe(fileStream);
我一直在抓我的头一整天,但我卡。任何帮助将是非常感激
我不确定输出的音频格式。是MP3还是WAV?你的答案表明这两种情况都有。在第一种情况下,MIME类型应该是...。有声读卡器.
还应更换 res.set
受以下任何帮助?
res.setHeader('Content-Type', contentType)
res.writeHead(statusCode,{'Content-Type': contentType})
.
contentType
是 "audiowav"。statusCode
应该是200。
我通过添加fluent-ffmpeg这样解决了这个错误。
var stream = ffmpeg().input(audioRecorder.start().stream()).toFormat("mp3");
app.get("/stream.mp3", function (req, res) {
res.type("mp3");
stream.pipe(res);
});
有一个10秒左右的延迟,我必须工作。