Tag: 节点 lame

Node.js + lame – TypeError:string不是一个函数

我想用Node.js读取一个audi文件,将其解码为PCM并将其编码为MP3。 我正在使用节点lame做en /解码,但不幸的是我得到以下错误: /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); }); 你可以在这里find引发错误的文件: https : //github.com/TooTallNate/node-lame/blob/master/lib/encoder.js

如何在树莓派上播放声音 – 启动后无需login

我需要用一个node.js脚本在树莓派上播放声音。 当我从命令行自己启动脚本时,一切正常。 当我启动后运行相同的脚本出/etc/rc.local脚本时,我看到我的运行过程时做“PS辅助”,但我不能听到任何声音。 我也尝试在40秒后启动节点脚本,因为我认为有一些初始化的东西或东西的时间太less,但在这段时间内,我可以从命令行启动脚本,听到声音… 我试了两个用户:root和pi。 他们都从cmd工作(因为自动启动后运行脚本的用户是root用户) 我把我的程序链接到/ usr / bin / node,因为如果不是这个进程不能在启动时启动的话。 我强制raspberryPi使用sereo插孔:amixer cset numid = 3 1 我的node.js代码是: var fs = require("fs"); var lame = require("lame"); var Speaker = require("speaker"); var SerialPort = require("serialport").SerialPort; var playing = false; var stream = []; stream[0] = "sound1.mp3"; stream[1] = "sound2.mp3"; stream[2] = "sound3.mp3"; stream[3] = "sound4.mp3"; […]