我需要将“”传递给使用nativeprocess运行的mm.exe。当我传递“In From MIDI Yoke:1”,即使使用 \“到本机进程时,它也无法正常启动应用程序并导致它崩溃。这有什么不对代码?
private function soundbank():void {
var argMidi5:Vector.<String> = new Vector.<String>;
var file:File = File.applicationDirectory.resolvePath("java/mm.exe");
argMidi5.push('-g 0 -m winmidi -o midi.winmidi.device="In From MIDI Yoke: 1"');
npSB = new NativeProcessStartupInfo();
npSB.workingDirectory = File.applicationDirectory;
direct = String(File.applicationDirectory);
npSB.executable = file;
npSB.arguments = argMidi5;
npSBOut = new NativeProcess();
npSBOut.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onSoundbank);
npSBOut.start(npSB);
trace(argMidi5);
}
答案 0 :(得分:3)
试试这个:
argMidi5.push("-g");
argMidi5.push("0");
argMidi5.push("-m");
argMidi5.push("winmidi");
argMidi5.push("-o");
argMidi5.push("midi.winmidi.device=\"In From MIDI Yoke: 1\"");
答案 1 :(得分:2)
参数作为向量中的单个字符串传递,而不是单个字符串。