【发布时间】:2018-05-15 17:17:36
【问题描述】:
我的目标是录制来自 Icecast 服务器的无线电流。
我正在使用icecast 节点模块来获取无线电流,然后通过将流通过wav 模块传输来写入波形文件。
这是我的代码示例:
const icecast = require('icecast');
const url = 'http://87.118.104.139/radiogibsonaac';
var wav = require('wav');
let ice, fileWriter;
ice = icecast.get(url, res => {
fileWriter = new wav.FileWriter(__dirname+'/recording.wav', {
channels: 1,
sampleRate: 16000,
bitDepth: 128
});
res.pipe(fileWriter);
});
setTimeout(()=>{
fileWriter.end();
ice.end();
},5000);
流已按预期成功记录到我的磁盘上,我可以在 VLC 中收听文件,但 wav 文件本身似乎没有正确形成。
当我尝试使用其他工具编辑文件时,每次都会显示错误。 例如,我正在尝试更改 this site 上的音频速度,但它无法识别该文件。
如果我尝试使用 Sox CLI 查看文件信息,它会显示:
sox FAIL 格式:无法打开输入文件 `recording.wav':抱歉,不了解 .wav 大小
有人知道我在将 wav 文件写入磁盘的过程中是否遗漏了一个步骤吗?
【问题讨论】:
标签: javascript node.js stream wav icecast