Beispiel #1
0
        public MainWindow()
        {
            InitializeComponent();

            osdLabel           = new System.Windows.Forms.Label();
            osdLabel.Font      = new System.Drawing.Font("", 20);
            osdLabel.ForeColor = System.Drawing.Color.White;
            osdLabel.BackColor = System.Drawing.Color.Black;
            osdLabel.AutoSize  = true;
            osdLabel.Location  = new System.Drawing.Point(30, 30);
            osdLabel.Visible   = false;
            mpParent.Controls.Add(osdLabel);
            int osdLabelIndex = mpParent.Controls.IndexOf(osdLabel);

            mpParent.Controls[osdLabelIndex].BringToFront();

            mediaPlayer = new Process();
            mediaPlayer.StartInfo.FileName               = settings.Default.Player;
            mediaPlayer.StartInfo.UseShellExecute        = false;
            mediaPlayer.StartInfo.CreateNoWindow         = true;
            mediaPlayer.StartInfo.RedirectStandardInput  = true;
            mediaPlayer.StartInfo.RedirectStandardOutput = true;
            mediaPlayer.Exited             += MediaPlayer_Exited;
            mediaPlayer.OutputDataReceived += MediaPlayer_OutputDataReceived;
            VideoLoaded = MediaOutput_VideoLoaded;

            dialog = new OpenFileDialog();

            debugForm = new DebugForm();
            debugForm.Show();

            lengthLabel.Content      = "-:--:--";
            elapsedTimeLabel.Content = "-:--:--";

            playerProperty = new Dictionary <String, String>();
        }
Beispiel #2
0
        public PlayerMain()
        {
            InitializeComponent();

            XmlDocument localeFile = new XmlDocument();

            playerLog   = new StringBuilder();
            osdLabel    = new Label();
            debugForm   = new DebugForm();
            property    = new Dictionary <String, String>();
            mediaPlayer = new Process();

            if (File.Exists(@".\locale\" + player.Default.Locale + @".xml"))
            {
                localeFile.Load(@".\locale\" + player.Default.Locale + @".xml");
            }
            else
            {
                MessageBox.Show("Could not find the locale file. Starting with embedded locale.", "Warning"
                                , MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            formPlayermainLocale = localeFile.SelectSingleNode("locale/playerForm");

            // Form Title
            this.Text = formPlayermainLocale.SelectSingleNode("formTitle").InnerText;

            // Tool Strip Menu Item Text
            this.fileToolStripMenuItem.Text        = formPlayermainLocale.SelectSingleNode("fileToolStripMenuItem").InnerText;
            this.playToolStripMenuItem.Text        = formPlayermainLocale.SelectSingleNode("playToolStripMenuItem").InnerText;
            this.videoToolStripMenuItem.Text       = formPlayermainLocale.SelectSingleNode("videoToolStripMenuItem").InnerText;
            this.audioToolStripMenuItem.Text       = formPlayermainLocale.SelectSingleNode("audioToolStripMenuItem").InnerText;
            this.subtitlesToolStripMenuItem.Text   = formPlayermainLocale.SelectSingleNode("subtitlesToolStripMenuItem").InnerText;
            this.informationToolStripMenuItem.Text = formPlayermainLocale.SelectSingleNode("informationToolStripMenuItem").InnerText;
            this.viewToolStripMenuItem.Text        = formPlayermainLocale.SelectSingleNode("viewToolStripMenuItem").InnerText;
            this.optionsToolStripMenuItem.Text     = formPlayermainLocale.SelectSingleNode("optionsToolStripMenuItem").InnerText;
            this.helpToolStripMenuItem.Text        = formPlayermainLocale.SelectSingleNode("helpToolStripMenuItem").InnerText;

            // File Menu
            this.openFileToolStripMenuItem.Text = formPlayermainLocale.SelectSingleNode("openFileToolStripMenuItem").InnerText;

            // Control
            this.elapsedTimeLabel.Text = formPlayermainLocale.SelectSingleNode("timestampNotAvailable").InnerText;
            this.lengthLabel.Text      = formPlayermainLocale.SelectSingleNode("timestampNotAvailable").InnerText;

            // Dialog
            this.videoFileDialog.Title  = formPlayermainLocale.SelectSingleNode("videoFileDialogTitle").InnerText;
            this.videoFileDialog.Filter = formPlayermainLocale.SelectSingleNode("videoFileDialogFilter").InnerText;

            // Event
            videoLoaded     += mediaOutput_VideoLoaded;
            osdLabel.Resize += osdLabel_Resize;

            // Load Player Background Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\Select_128x128.png"))
            {
                Bitmap       image        = new Bitmap(256, 256);
                Graphics     g            = Graphics.FromImage(image);
                StringFormat stringFormat = new StringFormat();
                stringFormat.Alignment = StringAlignment.Center;
                g.DrawImage(Image.FromFile(@".\theme\" + player.Default.Theme + @"\Select_128x128.png"), 64, 64);
                g.DrawString(formPlayermainLocale.SelectSingleNode("playerBackgroundText").InnerText
                             , new Font(SystemFonts.CaptionFont.FontFamily, 12, FontStyle.Bold), Brushes.Gray, 128, 216, stringFormat);
                this.mediaOutput.BackgroundImage = image;
            }

            // Load Play Button Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\PlayBtn_64x64.png"))
            {
                playButtonImagePlay   = new Bitmap(Image.FromFile(@".\theme\" + player.Default.Theme + @"\PlayBtn_64x64.png"), this.playButton.Size);
                this.playButton.Image = playButtonImagePlay;
                this.playButton.Text  = "";
            }

            // Load Pause Button Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\PauseBtn_64x64.png"))
            {
                playButtonImagePause = new Bitmap(Image.FromFile(@".\theme\" + player.Default.Theme + @"\PauseBtn_64x64.png"), this.playButton.Size);
            }

            // Load Prev Button Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\PrevBtn_64x64.png"))
            {
                this.prevButton.Image = new Bitmap(Image.FromFile(@".\theme\" + player.Default.Theme + @"\PrevBtn_64x64.png"), this.prevButton.Size);
                this.prevButton.Text  = "";
            }

            // Load Next Button Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\NextBtn_64x64.png"))
            {
                this.nextButton.Image = new Bitmap(Image.FromFile(@".\theme\" + player.Default.Theme + @"\NextBtn_64x64.png"), this.nextButton.Size);
                this.nextButton.Text  = "";
            }

            // Load Stop Button Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\StopBtn_64x64.png"))
            {
                this.stopButton.Image = new Bitmap(Image.FromFile(@".\theme\" + player.Default.Theme + @"\StopBtn_64x64.png"), this.stopButton.Size);
                this.stopButton.Text  = "";
            }

            // Load Hide Button Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\HideBtn_64x64.png"))
            {
                this.hideButton.Image = new Bitmap(Image.FromFile(@".\theme\" + player.Default.Theme + @"\HideBtn_64x64.png"), this.hideButton.Size);
                this.hideButton.Text  = "";
            }

            // Load Full Screen Button Image
            if (File.Exists(@".\theme\" + player.Default.Theme + @"\FScreenBtn_64x64.png"))
            {
                this.fullScreenButton.Image = new Bitmap(Image.FromFile(@".\theme\" + player.Default.Theme + @"\FScreenBtn_64x64.png"), this.fullScreenButton.Size);
                this.fullScreenButton.Text  = "";
            }

            debugForm.Show();

            onSeekBarValueChanged += seekBar_ValueChanged;

            mediaPlayer.StartInfo.FileName               = player.Default.MediaPlayer;
            mediaPlayer.StartInfo.UseShellExecute        = false;
            mediaPlayer.StartInfo.CreateNoWindow         = true;
            mediaPlayer.StartInfo.RedirectStandardInput  = true;
            mediaPlayer.StartInfo.RedirectStandardOutput = true;
            mediaPlayer.Exited             += mediaPlayer_Exited;
            mediaPlayer.OutputDataReceived += getPlayerOutput;

            osdLabel.Font      = new Font("Arial", 20);
            osdLabel.Text      = "test";
            osdLabel.ForeColor = Color.White;
            osdLabel.BackColor = Color.Black;
            osdLabel.AutoSize  = true;
            osdLabel.Location  = new Point(30, 30);
            osdLabel.Visible   = false;
            this.Controls.Add(osdLabel);
            int osdLabelIndex = this.Controls.IndexOf(osdLabel);

            this.Controls[osdLabelIndex].BringToFront();

            tableLayoutPanel1.RowStyles[1].Height = 0;

            if (!File.Exists(player.Default.MediaPlayer))
            {
                MessageBox.Show("Media player not found. Please reinstall the program to fix this problem.", "Error", MessageBoxButtons.OK);
            }
        }