Я пытаюсь написать простое программное обеспечение, которое играет в караоке в Mono Gtk / .NET.Я просто хочу запустить через оболочку что-то вроде «timidity filename.kar» (timidity - программный синтезатор).Я хочу записать вывод робости в текстовое представление, но проблема в том, что если я запускаю этот код, робость начинает «играть», но приложение завершает
защищенный виртуальный void OnBtnPlayClicked (отправитель объекта, System.EventArgs e){string parms = filechooser.Filename;строка вывода = "";string error = string.Empty;
ProcessStartInfo psi = new ProcessStartInfo("timidity", parms);
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
psi.UseShellExecute = false;
System.Diagnostics.Process reg;
reg = System.Diagnostics.Process.Start(psi);
reg.OutputDataReceived += new DataReceivedEventHandler(SortOutputHandler);
reg.BeginOutputReadLine(); // HERE THE APP GO CRASH
}
private void SortOutputHandler(object sendingProcess,
DataReceivedEventArgs outLine)
{
// Collect the sort command output.
if (!String.IsNullOrEmpty(outLine.Data))
{
txtOutput.Buffer.Text =txtOutput.Buffer.Text + outLine.Data;
}
}
Где я ошибаюсь?
Спасибо