gpt4 book ai didi

Node.js+lame - 类型错误 : string is not a function

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:20 25 4
gpt4 key购买 nike

我想使用 Node.js 读取 audi 文件,将其解码为 PCM 并将其编码为 MP3。我正在使用 node-lame 进行编码/解码,但不幸的是我收到以下错误:

/Users/Jon/streaming test/node_modules/lame/lib/encoder.js:191
write(output);
^
TypeError: string is not a function
at cb (/Users/Jon/streaming test/node_modules/lame/lib/encoder.js:191:7)

我的编码和解码代码:

var filename = './beautifullie.mp3';
var decoder = lame.Decoder();
var encoder = lame.Encoder({channels: 2, bitDepth: 16, sampleRate: 44100});

fs.createReadStream(filename).pipe(decoder);

decoder.on('format', function(format) {
console.log('Decoding .. '+JSON.stringify(format));
decoder.pipe(encoder);
});

encoder.on("data", function(data) {
console.log('Sending..');
//sendData(data);
});

您可以在此处找到引发错误的文件:https://github.com/TooTallNate/node-lame/blob/master/lib/encoder.js

最佳答案

这是一个对我有用的解决方法(在 Ubuntu 机器上运行 node.js 0.10.3)。也许有人知道为什么 require('stream').Transform 无法正常工作 - _transform 函数中的 write 参数似乎是包含“utf8”的字符串。对于 javascript 和 node.js,我完全是新手......

在decoder.js和encoder.js的开头有一个if语句

if (!Transform) Transform = require('readable-stream/transform');

删除 if 并仅设置 Transform 变量,如下所示:

Transform = require('readable-stream/transform');

关于Node.js+lame - 类型错误 : string is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15579992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com