Ejemplo n.º 1
0
 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); }
 }
Ejemplo n.º 2
0
        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) { }
            }
        }