我在寫一個家庭自動化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