예제 #1
0
 private void Form1_Load(object sender, EventArgs e)
 {
     myWmp.PlayStateChange += Wmp_PlayStateChange;
     foreach (string item in Directory.EnumerateFiles(mediaPath))
     {
         IWMPMedia nueva = myWmp.newMedia(item);
         myWmp.currentPlaylist.appendItem(nueva);
     }
     myWmp.Ctlcontrols.play();
 }
예제 #2
0
파일: Form1.cs 프로젝트: cxfwolfkings/EIM
 private void btnPlay_Click(object sender, EventArgs e)
 {
     try
     {
         player.newMedia(@"C:\Users\franco.zhan\Desktop\aa.avi");
         player.URL = @"C:\Users\franco.zhan\Desktop\aa.avi";
     }
     catch (System.Exception ex)
     {
     }
 }
예제 #3
0
 private void MediaFrm_Load(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(VideoPath))
     {
         return;
     }
     player.Dock = DockStyle.Fill;
     player.newMedia(VideoPath);
     player.URL    = VideoPath;
     player.uiMode = "none";
     player.BringToFront();
 }
예제 #4
0
 private void AddAndPlay(string fileName)
 {
     WMPLib.IWMPMedia mediaItem = player.newMedia(fileName);
     currentPlayList.appendItem(mediaItem);
     playlist.Items.Add(System.IO.Path.GetFileName(fileName));
     if (!(player.playState == WMPLib.WMPPlayState.wmppsPlaying))
     {
         player.Ctlcontrols.play();
     }
     Disable(btnPlay);
     Enable(btnPause, btnStop, btnFullScreen, btnFastForward, btnRewind, btnScreenShot, btnNext, btnPrevious);
     player.Ctlcontrols.playItem(player.currentPlaylist.Item[player.currentPlaylist.count - 1]);
 }
예제 #5
0
        private void importToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (playList.Items.Count > 0)
            {
                string[] songsArray = playList.Items.OfType <string>().ToArray();

                playlist = Player.playlistCollection.newPlaylist(namePlaylist.Text);

                foreach (string song in songsArray)
                {
                    playlist.appendItem(Player.newMedia(song));
                }
            }
        }
예제 #6
0
        /// <summary>
        /// Updates playlist changes
        /// </summary>
        /// <param name="files">lists of audio file paths</param>
        /// <param name="playListBox">Playlist listbox</param>
        /// <param name="MediaPlayer">Media Player</param>
        /// <returns>Updated list of song objects</returns>
        public static List <SongModel> UpdatePlaylist(string[] files, ListBox playListBox, AxWindowsMediaPlayer MediaPlayer)
        {
            List <SongModel> updatedSongs = new List <SongModel>();

            foreach (string file in files)                          // gets file paths
            {
                IWMPMedia mediaItem = MediaPlayer.newMedia((file)); // creates media files
                SongModel song      = new SongModel(mediaItem);

                MediaPlayer.currentPlaylist.appendItem(song.MediaFile); //  player.PlayStateChange
                playListBox.Items.Add(song.MediaFile.getItemInfo("Title"));
                updatedSongs.Add(song);
            }

            return(updatedSongs);
        }
        public double GetDuration()
        {
            IWMPMedia media = _videoPlayer.newMedia(_videoPlayer.URL);

            return(media.duration);
        }
예제 #8
0
        private void UpdateFilesAndPlayNext()
        {
            var newFiles = new List <string>();

            try
            {
                var path       = Path.GetFullPath(CustomerScreenConfig.Instance.PathToPlaylistFolder);
                var extensions = CustomerScreenConfig.Instance.SupportedExtensions.ToArray();
                //Логируем один раз список файлов, которые мы ищем.
                if (!firstSearchLogged)
                {
                    PluginContext.Log.InfoFormat("Path to video folder:'{0}'\n Extensions: '{1}'", path, extensions.Length > 0 ? string.Join("', '", extensions) : "all");
                    firstSearchLogged = true;
                }
                if (Directory.Exists(path))
                {
                    newFiles.AddRange(extensions.Length == 0
                        ? Directory.GetFiles(path).Except(unsupportedFiles)
                        : extensions.SelectMany(f => Directory.GetFiles(path, f, SearchOption.TopDirectoryOnly)).Except(unsupportedFiles));
                }
                else
                {
                    PluginContext.Log.WarnFormat("Directory {0} doesn't exist.", path);
                }
            }
            catch (Exception e)
            {
                PluginContext.Log.Error(string.Format("Can't load files from {0}.", CustomerScreenConfig.Instance.PathToPlaylistFolder), e);
            }

            if (newFiles.Count == 0)
            {
                wmpHost.Visibility = Visibility.Collapsed;
                FilesNotFoundErrorMessage.Visibility = Visibility.Visible;
                return;
            }

            if (mediaPlayer == null)
            {
                mediaPlayer = new AxWindowsMediaPlayer();
                mediaPlayer.PlayStateChange += mediaPlayer_PlayStateChange;
                mediaPlayer.ErrorEvent      += mediaPlayer_ErrorEvent;
                wmpHost.Child = mediaPlayer;
                mediaPlayer.settings.setMode("Loop", true);
                mediaPlayer.settings.enableErrorDialogs = true;
                mediaPlayer.settings.autoStart          = true;
                mediaPlayer.settings.mute     = true;
                mediaPlayer.settings.volume   = 0;
                mediaPlayer.enableContextMenu = false;
                mediaPlayer.stretchToFit      = true;
                mediaPlayer.uiMode            = "none";
            }
            try
            {
                if (files.SequenceEqual(newFiles))
                {
                    return;
                }
                files.Clear();
                files.AddRange(newFiles);
                PluginContext.Log.InfoFormat("New files list: \n'{0}'", string.Join("',\n'", files.ToArray()));
                mediaPlayer.currentPlaylist.clear();
                files.ForEach(f => mediaPlayer.currentPlaylist.appendItem(mediaPlayer.newMedia(f)));
            }
            catch (AxHost.InvalidActiveXStateException ex)
            {
                PluginContext.Log.ErrorFormat("Error {0}", ex.Message);
                wmpHost.Visibility = Visibility.Collapsed;
                FilesNotFoundErrorMessage.Visibility = Visibility.Visible;
            }
        }