public void SetWindow(MediaCodes Indicator, Song s)
        {
            switch (Indicator)
            {
            case MediaCodes.Maximize:
                if (WindowState == WindowState.Normal || WindowState == WindowState.Minimized)
                {
                    WindowState = System.Windows.WindowState.Maximized;
                    GideonBase.SynObj.SpeakAsync("MediaPlayer Maximized!");
                }
                else
                {
                    GideonBase.SynObj.SpeakAsync("MediaPlayer is already Maximized!");
                }

                break;

            case MediaCodes.Minimize:

                if (WindowState == WindowState.Maximized || WindowState == WindowState.Normal)
                {
                    WindowState = System.Windows.WindowState.Minimized;
                    GideonBase.SynObj.SpeakAsync("MediaPlayer Minimized!");
                }
                else
                {
                    GideonBase.SynObj.SpeakAsync("MediaPlayer is already Minimized!");
                }
                break;
            }
            s.SongName = songname;
        }
        public void ShowList(MediaCodes Indicator)
        {
            PlayList.Items.Clear();
            PlayList.Visibility = Visibility.Visible;

            switch (Indicator)
            {
            case MediaCodes.AudioList:

                foreach (string s in MObj.Audios)
                {
                    PlayList.Items.Add(s.Substring(s.LastIndexOf('\\') + 1));
                }

                break;

            case MediaCodes.VideoList:

                foreach (string s in MObj.Videos)
                {
                    PlayList.Items.Add(s.Substring(s.LastIndexOf('\\') + 1));
                }

                break;
            }
        }
        private void ListDoubleClick(object sender, EventArgs e)
        {
            ListBox list = (ListBox)sender;

            if (IsAList)
            {
                Indicator   = MediaCodes.PlayAudio;
                MObj.AudPos = list.SelectedIndex;
            }
            else
            {
                Indicator   = MediaCodes.PlayVideo;
                MObj.VidPos = list.SelectedIndex;
            }

            PlaySong(Indicator, new Song());
        }
        public void AdjustVolume(MediaCodes indicator, Song s)
        {
            MyMediaElement.IsMuted = false;
            switch (indicator)
            {
            case MediaCodes.DecreaseVolume:     //decrease volume
                if (MyMediaElement.Volume > 0)
                {
                    MyMediaElement.Volume -= 0.1;
                    GideonBase.SynObj.SpeakAsync("Volume Decreased!");
                    return;
                }

                break;

            case MediaCodes.IncreaseVolume:     //increase volume
                if (MyMediaElement.Volume < 1.0)
                {
                    MyMediaElement.Volume += 0.1;
                    GideonBase.SynObj.SpeakAsync("Volume Increased!");
                }
                break;

            case MediaCodes.Mute:     //mute volume
                MyMediaElement.Volume  = 0.0;
                MyMediaElement.IsMuted = true;
                GideonBase.SynObj.SpeakAsync("Volume mute!");
                break;

            case MediaCodes.FullVolume:     //full volume
                MyMediaElement.Volume = 1.0;
                GideonBase.SynObj.SpeakAsync("Volume is full!");
                break;
            }
            s.SongName = songname;
        }
        public MediaPlayerUI()
        {
            InitializeComponent();

            timer = new DispatcherTimer
            {
                Interval = TimeSpan.FromSeconds(1)
            };
            timer.Tick += Seek_Timer;
            timer.Start();

            LoadIcon();

            IsSeeked = false;
            IsPlay   = false;
            IsAList  = false;
            IsVList  = false;


            MObj                  = new MediaPlayer();
            Indicator             = MediaCodes.PlayAudio;
            songname              = MObj.Audios[MObj.AudPos];
            MyMediaElement.Source = new Uri(songname);
        }
        public void PlaySong(MediaCodes Indicator, Song s)
        {
            if (!File.Exists(MediaPath.AudioFile) && !File.Exists(MediaPath.VideoFile))
            {
                MObj.LoadAllSongs();
            }
            if (MyMediaElement.IsMuted)
            {
                GideonBase.SynObj.SpeakAsync("Volume is mute, please Increase the volume!");
            }

            switch (Indicator)
            {
            case MediaCodes.PlayAudio:
                this.Indicator = Indicator;
                // this.Visibility = Visibility.Hidden;
                if (!File.Exists(MObj.Audios[MObj.AudPos]))
                {
                    NextSong(s);
                    return;
                }
                songname = MObj.Audios[MObj.AudPos];

                GideonBase.SynObj.SpeakAsync("Playing Song!");
                MyMediaElement.Source = new Uri(songname);

                break;

            case MediaCodes.PlayVideo:
                this.Indicator = Indicator;
                //this.Visibility = Visibility.Visible;
                if (!File.Exists(MObj.Videos[MObj.VidPos]))
                {
                    NextSong(s);
                    return;
                }

                songname = MObj.Videos[MObj.VidPos];
                GideonBase.SynObj.SpeakAsync("Playing Video!");
                MyMediaElement.Source = new Uri(songname);
                break;

            case MediaCodes.Play:

                if (!File.Exists(MObj.Audios[MObj.AudPos]))
                {
                    NextSong(s);
                    return;
                }
                if (!File.Exists(MObj.Videos[MObj.VidPos]))
                {
                    NextSong(s);
                    return;
                }

                break;
            }

            IsPlay = true;
            PlayOrPause.Content = new Image {
                Source = new BitmapImage(new Uri(MediaPath.Pause))
            };
            PlayOrPause.ToolTip = "Play";
            s.SongName          = songname;
            MyMediaElement.Play();
        }