我在写一个家庭自动化web应用程序。我有从Google音乐流到我的扬声器的音乐,我使用vlc输出声音。我无法做的事似乎是暂停歌曲。例如,cvlc url会打开并流式传输url,然后进入交互模式,在这种模式下可以键入暂停并暂停。打开终端,执行命令并进入交互模式
当我尝试从我的node.js应用程序执行此操作时,没有任何反应。它只是继续玩。
var terminal = require('child_process').spawn('bash');
terminal.stdout.on('data', function (data) {
console.log(data);
});
terminal.on('exit', function (code) {
console.log('child process exited with code ' + code);
});
terminal.stdin.write('cvlc "' + req.url +'" & \n');
terminal.stdin.write('pause');
更改为,var terminal = require('child_process'); term = terminal.spawn('cvlc',[req.url]); term.stdin.write( '暂停\ n');仍然开始播放歌曲,然后不会暂停。 –
而且默认路径应该没问题。如果我在直线终端中运行相同的命令,它会提示您可以键入暂停,播放,快速等等......基本上我希望能够调出提示并与之交互。 –
你有没有从stdout中获得任何东西?顺便说一句,标准输出是一个十六进制缓冲区,你最好做:console.log(data.toString()); – Meir