bool sendCommand(string cmd) { try { if (mediaPlayer != null && mediaPlayer.HasExited == false) { debugForm.Invoke((MethodInvoker) delegate { debugForm.textBox1_append("FRONTEND > " + cmd + "\n"); }); mediaPlayer.StandardInput.Write(cmd + "\n"); return(true); } else { return(false); } } catch { return(false); } }
private void MediaPlayer_OutputDataReceived(object sender, DataReceivedEventArgs e) { if (e.Data == null) { return; } string strMessage = e.Data; if (isVideoPlaying) { try { debugForm.Invoke(new Action(delegate { debugForm.debugLog.Text += "CORE > " + strMessage + "\n"; })); if (strMessage != "") { debugForm.Invoke(new Action(delegate { debugForm.frameInfo.Text = strMessage; })); if (strMessage.StartsWith("A:")) { int elapsedTime = int.Parse(strMessage.Split(':')[1].Split('.')[0]); int tHour = elapsedTime / 3600; int tMin = elapsedTime % 3600 / 60; int tSec = elapsedTime % 60; this.Dispatcher.Invoke(new Action(delegate() { if (!isSeeking && seekBar.Maximum != 0) { elapsedTimeLabel.Content = String.Format("{0:0}:{1:00}:{2:00}", tHour, tMin, tSec); seekBar.Value = elapsedTime; } })); } else if (strMessage.StartsWith("V:")) { int elapsedTime = int.Parse(strMessage.Split(':')[1].Split('.')[0]); int tHour = elapsedTime / 3600; int tMin = elapsedTime % 3600 / 60; int tSec = elapsedTime % 60; this.Dispatcher.Invoke(new Action(delegate() { if (!isSeeking && seekBar.Maximum != 0) { elapsedTimeLabel.Content = String.Format("{0:0}:{1:00}:{2:00}", tHour, tMin, tSec); seekBar.Value = elapsedTime; } })); } else { Console.WriteLine(strMessage); debugForm.Invoke(new Action(delegate { //debugForm.debugLog.Text += "CORE > " + strMessage + "\n"; })); if (strMessage.StartsWith("ID_") && strMessage.Contains('=')) { string[] keyValue = strMessage.Split('='); if (!playerProperty.ContainsKey(keyValue[0])) { playerProperty.Add(keyValue[0], keyValue[1]); } } else if (strMessage.StartsWith("Starting playback...")) { VideoLoaded(this, new EventArgs()); } else if (strMessage.StartsWith("Exiting...")) { debugForm.Invoke(new Action(delegate { StopPlayer(); })); } } } } catch (Exception) { } } }