nativeprocess的参数失败

时间:2010-11-29 12:17:28

标签: flex flash actionscript-3

我需要将“”传递给使用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);
            }

2 个答案:

答案 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)

参数作为向量中的单个字符串传递,而不是单个字符串。