Csharp/C Sharp/Development Class/MediaPlayer

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

SMK MediaPlayer

<source lang="csharp"> /* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury,

  Zach Greenvoss, Shripad Kulkarni, Neil Whitlow

Publisher: Peer Information ISBN: 1861007663

  • /

using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using MediaPlayer ; namespace SMK_MediaPlayer {

 /// <summary>
 /// Summary description for SMKMediaPlayer.
 /// </summary>
 public class SMKMediaPlayer : System.Windows.Forms.Form
 {
   /// <summary>
   /// Required designer variable.
   /// </summary>
   
   private AxMediaPlayer.AxMediaPlayer mPlayer = null ;
   private System.Windows.Forms.Panel panel2;
   private System.Windows.Forms.NotifyIcon notifyIcon1;
   private System.Windows.Forms.MainMenu mainMenu1;
   private System.Windows.Forms.MenuItem menuItem1;
   private System.Windows.Forms.MenuItem menuItem2;
   private System.Windows.Forms.MenuItem menuItem3;
   private System.Windows.Forms.ImageList imageList1;
   private System.Windows.Forms.MenuItem menuItem4;
   private System.Windows.Forms.ContextMenu contextMenu1;
   private System.Windows.Forms.MenuItem menuItem5;
   private System.Windows.Forms.MenuItem menuItem6;
   private System.ruponentModel.IContainer components;
   
   public SMKMediaPlayer()
   {
     //
     // Required for Windows Form Designer support
     //
     InitializeComponent();
     //
     // TODO: Add any constructor code after InitializeComponent call
     //
   }
   /// <summary>
   /// Clean up any resources being used.
   /// </summary>
   protected override void Dispose( bool disposing )
   {
     notifyIcon1.Dispose() ;
     mPlayer.Stop() ;
     mPlayer.Dispose();
     if( disposing )
     {
       if (components != null) 
       {
         components.Dispose();
       }
     }
     base.Dispose( disposing );
   }
   private void streamEnded(object sender , AxMediaPlayer._MediaPlayerEvents_EndOfStreamEvent e)
   {
     this.Show();
     notifyIcon1.Visible = false ;
     mPlayer.Stop();
     mPlayer.CurrentPosition= 0.0; 
   }
   #region Windows Form Designer generated code
   /// <summary>
   /// Required method for Designer support - do not modify
   /// the contents of this method with the code editor.
   /// </summary>
   private void InitializeComponent()
   {
     this.ruponents = new System.ruponentModel.Container();
     System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(SMKMediaPlayer));
     this.panel2 = new System.Windows.Forms.Panel();
     this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.ruponents);
     this.mainMenu1 = new System.Windows.Forms.MainMenu();
     this.menuItem1 = new System.Windows.Forms.MenuItem();
     this.menuItem2 = new System.Windows.Forms.MenuItem();
     this.menuItem3 = new System.Windows.Forms.MenuItem();
     this.menuItem4 = new System.Windows.Forms.MenuItem();
     this.imageList1 = new System.Windows.Forms.ImageList(this.ruponents);
     this.contextMenu1 = new System.Windows.Forms.ContextMenu();
     this.menuItem5 = new System.Windows.Forms.MenuItem();
     this.menuItem6 = new System.Windows.Forms.MenuItem();
     this.SuspendLayout();
     // 
     // panel2
     // 
     this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
     this.panel2.Name = "panel2";
     this.panel2.Size = new System.Drawing.Size(344, 109);
     this.panel2.TabIndex = 1;
     // 
     // notifyIcon1
     // 
     this.notifyIcon1.Text = "notifyIcon1";
     this.notifyIcon1.Visible = true;
     // 
     // mainMenu1
     // 
     this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                           this.menuItem1,
                                           this.menuItem4});
     // 
     // menuItem1
     // 
     this.menuItem1.Index = 0;
     this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                           this.menuItem2,
                                           this.menuItem3});
     this.menuItem1.Text = "File";
     // 
     // menuItem2
     // 
     this.menuItem2.Index = 0;
     this.menuItem2.Text = "Open";
     this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
     // 
     // menuItem3
     // 
     this.menuItem3.Index = 1;
     this.menuItem3.Text = "Exit";
     this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);
     // 
     // menuItem4
     // 
     this.menuItem4.Index = 1;
     this.menuItem4.Text = "Hide";
     this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
     // 
     // imageList1
     // 
     this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
     this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
     this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
     this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
     // 
     // contextMenu1
     // 
     this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                            this.menuItem5,
                                            this.menuItem6});
     // 
     // menuItem5
     // 
     this.menuItem5.Index = 0;
     this.menuItem5.Text = "Show";
     this.menuItem5.Click += new System.EventHandler(this.menuItem5_Click);
     // 
     // menuItem6
     // 
     this.menuItem6.Index = 1;
     this.menuItem6.Text = "Exit";
     this.menuItem6.Click += new System.EventHandler(this.menuItem6_Click);
     // 
     // SMKMediaPlayer
     // 
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(344, 109);
     this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                     this.panel2});
     this.MaximizeBox = false;
     this.Menu = this.mainMenu1;
     this.Name = "SMKMediaPlayer";
     this.Text = "ActiveX Media Player";
     this.Load += new System.EventHandler(this.SMKMediaPlayer_Load);
     this.ResumeLayout(false);
   }
   #endregion
   /// <summary>
   /// The main entry point for the application.
   /// </summary>
   [STAThread]
   static void Main() 
   {
     Application.Run(new SMKMediaPlayer());
   }
   private void SMKMediaPlayer_Load(object sender, System.EventArgs e)
   {
     notifyIcon1.Icon = new Icon("EYE.ico");
     notifyIcon1.Text = "SMK Media Player 1.0"; 
     notifyIcon1.Visible = false ; 
     notifyIcon1.DoubleClick += new EventHandler(NotifyIconDoubleClick);
     notifyIcon1.ContextMenu = contextMenu1 ; 
     mPlayer = new AxMediaPlayer.AxMediaPlayer();
     mPlayer.BeginInit();
     mPlayer.Size      = new System.Drawing.Size(292, 273);
     mPlayer.Location    = new System.Drawing.Point(0 , 16);
     mPlayer.TabIndex    = 0;
     mPlayer.Dock      = System.Windows.Forms.DockStyle.Fill;
     this.panel2.Controls.AddRange(new System.Windows.Forms.Control[] {this.mPlayer});
     mPlayer.EndOfStream
       += new AxMediaPlayer._MediaPlayerEvents_EndOfStreamEventHandler(this.streamEnded);
     mPlayer.EndInit();
   }
   private void menuItem2_Click(object sender, System.EventArgs e)
   {
     try
     {    
       Image im = imageList1.Images[0];
       OpenFileDialog fd = new OpenFileDialog();
       fd.ShowDialog();
       mPlayer.Open(fd.FileName);
       mPlayer.Play();      
     }
     catch(Exception eee)
     { 
       Console.WriteLine(eee.Message);
     }
   }
   private void menuItem4_Click(object sender, System.EventArgs e)
   {
     notifyIcon1.Visible = true ;
     this.Hide();    
   }
   private void menuItem3_Click(object sender, System.EventArgs e)
   {
     Application.Exit() ;
   }
   private void menuItem5_Click(object sender, System.EventArgs e)
   {
     notifyIcon1.Visible = false;
     this.Show();
   }
   private void menuItem6_Click(object sender, System.EventArgs e)
   {
     notifyIcon1.Visible = false ;
     Application.Exit() ;
   }
   private void NotifyIconDoubleClick(object sender, System.EventArgs e)
   {
     this.Visible = true ;
     this.Activate() ;
     this.Show() ;
     this.BringToFront() ;
   }
 
 }

}


      </source>

<A href="http://www.nfex.ru/Code/CSharpDownload/SMK_MediaPlayer.zip">SMK_MediaPlayer.zip( 181 k)</a>