我一直在网上搜索超过3个小时,现在正在寻找播放音频文件的相关方法,但不幸的是我找不到任何有用的东西。我有一个自动执行某些任务的CasperJS,我希望它在完成所有任务后播放音频文件(例如beep.wav)。我想知道是否有可能。
casper.run(function(casper) {
fs.write( saveDir, JSON.stringify(content, null, ' '), 'w');
// play an audio file before exiting....
casper.exit();
});
答案 0 :(得分:4)
您需要使用Child Process Module来运行脚本,才能播放音乐。
我创建了pl.sh
脚本来播放音乐:
#!/bin/bash
mplayer "/music/downloads2/Technoboy - Into Deep.oga"
exit 0
然后我创建了CasperJS脚本:
var casper = require('casper').create();
casper
.start('http://domu-test-2/node/12', function(){
var childProcess;
try {
childProcess = require("child_process")
} catch(e){
console.log(e, "(error)")
}
if (childProcess){
childProcess.execFile("/bin/bash", ["./pl.sh"], null, function(err, stdout, stderr){
console.log("execFileSTDOUT: "+stdout);
console.log("execFileSTDERR:",stderr);
});
console.log("Shell commands executed")
} else {
console.log("Unable to require child process (error)")
}
this.wait(10000)// need to wait to play the sound
})
.run();
然后是PhantomJS脚本:
var page = require('webpage').create();
page.open('http://domu-test-2/node/12', function() {
var childProcess;
try {
childProcess = require("child_process")
} catch(e){
console.log(e, "(error)")
}
if (childProcess){
childProcess.execFile("/bin/bash", ["./pl.sh"], null, function(err, stdout, stderr){
console.log("execFileSTDOUT: "+stdout);
console.log("execFileSTDERR:",stderr);
});
console.log("Shell commands executed")
} else {
console.log("Unable to require child process (error)")
}
setTimeout(phantom.exit,10000)// need to wait to play the sound
});