测试媒体播放类的程序

时间:2021-05-02

在前面的一篇文章中(C#中用API实现MP3等音频文件的播放类)给出了使用API播放MP3等音频文件的类,但没有给出具体的测试方法,在这里给出具体的测试方法。

using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Runtime.InteropServices; using System.Text; using System.IO ;using clsMCIPlay;

namespace MCIPlay{ /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form {  private System.ComponentModel.IContainer components;  private System.Windows.Forms.Timer timer1;  private System.Windows.Forms.Button Play;  private System.Windows.Forms.Button Stop;  private System.Windows.Forms.Button Puase;  private System.Windows.Forms.Label PlayFileName;  private System.Windows.Forms.Label Duration;  private System.Windows.Forms.Label CurrentPosition;  private System.Windows.Forms.OpenFileDialog openFileDialog1;  private System.Windows.Forms.Button BrowserFile;  clsMCI mp = new clsMCI();

  public Form1()  {   //   // Windows 窗体设计器支持所必需的   //   InitializeComponent();

   //   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码   //  }

  /// <summary>  /// 清理所有正在使用的资源。  /// </summary>  protected override void Dispose( bool disposing )  {   if( disposing )   {    if (components != null)     {     components.Dispose();    }   }   base.Dispose( disposing );  }

  #region Windows 窗体设计器生成的代码   /// <summary>  /// 设计器支持所需的方法 - 不要使用代码编辑器修改  /// 此方法的内容。  /// </summary>  private void InitializeComponent()  {   this.components = new System.ComponentModel.Container();   this.Play = new System.Windows.Forms.Button();   this.PlayFileName = new System.Windows.Forms.Label();   this.Duration = new System.Windows.Forms.Label();   this.Stop = new System.Windows.Forms.Button();   this.Puase = new System.Windows.Forms.Button();   this.CurrentPosition = new System.Windows.Forms.Label();   this.timer1 = new System.Windows.Forms.Timer(this.components);   this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();   this.BrowserFile = new System.Windows.Forms.Button();   this.SuspendLayout();   //    // Play   //    this.Play.Location = new System.Drawing.Point(102, 243);   this.Play.Name = "Play";   this.Play.Size = new System.Drawing.Size(78, 24);   this.Play.TabIndex = 0;   this.Play.Text = "Play";   this.Play.Click += new System.EventHandler(this.Play_Click);   //    // PlayFileName   //    this.PlayFileName.AutoSize = true;   this.PlayFileName.Location = new System.Drawing.Point(12, 15);   this.PlayFileName.Name = "PlayFileName";   this.PlayFileName.Size = new System.Drawing.Size(0, 17);   this.PlayFileName.TabIndex = 1;   //    // Duration   //    this.Duration.AutoSize = true;   this.Duration.Location = new System.Drawing.Point(15, 51);   this.Duration.Name = "Duration";   this.Duration.Size = new System.Drawing.Size(0, 17);   this.Duration.TabIndex = 2;   //    // Stop   //    this.Stop.Location = new System.Drawing.Point(282, 243);   this.Stop.Name = "Stop";   this.Stop.Size = new System.Drawing.Size(81, 24);   this.Stop.TabIndex = 3;   this.Stop.Text = "Stop";   this.Stop.Click += new System.EventHandler(this.Stop_Click);   //    // Puase   //    this.Puase.Location = new System.Drawing.Point(198, 243);   this.Puase.Name = "Puase";   this.Puase.Size = new System.Drawing.Size(72, 24);   this.Puase.TabIndex = 4;   this.Puase.Text = "Puase";   this.Puase.Click += new System.EventHandler(this.Puase_Click);   //    // CurrentPosition   //    this.CurrentPosition.AutoSize = true;   this.CurrentPosition.Location = new System.Drawing.Point(15, 87);   this.CurrentPosition.Name = "CurrentPosition";   this.CurrentPosition.Size = new System.Drawing.Size(0, 17);   this.CurrentPosition.TabIndex = 5;   //    // timer1   //    this.timer1.Enabled = true;   this.timer1.Interval = 1000;   this.timer1.Tick += new System.EventHandler(this.timer1_Tick);   //    // BrowserFile   //    this.BrowserFile.Location = new System.Drawing.Point(312, 165);   this.BrowserFile.Name = "BrowserFile";   this.BrowserFile.Size = new System.Drawing.Size(87, 24);   this.BrowserFile.TabIndex = 6;   this.BrowserFile.Text = "SelectFile";   this.BrowserFile.Click += new System.EventHandler(this.BrowserFile_Click);   //    // Form1   //    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);   this.ClientSize = new System.Drawing.Size(433, 287);   this.Controls.Add(this.BrowserFile);   this.Controls.Add(this.CurrentPosition);   this.Controls.Add(this.Puase);   this.Controls.Add(this.Stop);   this.Controls.Add(this.Duration);   this.Controls.Add(this.PlayFileName);   this.Controls.Add(this.Play);   this.Name = "Form1";   this.Text = "Form1";   this.ResumeLayout(false);

  }  #endregion

  /// <summary>  /// 应用程序的主入口点。   /// </summary>  [STAThread]  static void Main()   {   Application.Run(new Form1());  }

  //选择MP3文件播放  private void Play_Click(object sender, System.EventArgs e)  {   try   {    mp.play();    }   catch   {    MessageBox.Show("出错错误!");    }  }

  //暂停播放  private void Puase_Click(object sender, System.EventArgs e)  {   try   {    mp.Puase();    }   catch   {    MessageBox.Show("出错错误!");    }

  }

  //停止播放  private void Stop_Click(object sender, System.EventArgs e)  {   try   {    mp.StopT();    }   catch   {    MessageBox.Show("出错错误!");    }  }

  //每秒显示一次播放进度  private void timer1_Tick(object sender, System.EventArgs e)  {   CurrentPosition.Text = mp.CurrentPosition.ToString();   }

  //浏览文件  private void BrowserFile_Click(object sender, System.EventArgs e)  {   try   {    openFileDialog1.Filter = "*.mp3|*.mp3";    openFileDialog1.FileName = "";    if(openFileDialog1.ShowDialog() == DialogResult.OK)    {     mp.FileName = openFileDialog1.FileName ;     PlayFileName.Text = openFileDialog1.FileName ;     Duration.Text = mp.Duration.ToString() ;     }   }   catch   {    MessageBox.Show("出错错误!");    }  } }}

本程序在Visual Studio2003,WINXP下运行通过。

本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章