在C#中实现用MediaPlayer播放一个目录下所有的MP3文件..

winter1981 2006-05-08 02:25:18
public class Form1 : System.Windows.Forms.Form
{
ArrayList playListMp3 = new ArrayList() ;
int index = 0;
……
private void InitializeComponent()
{
……
this.axMediaPlayer1.EndOfStream += new AxMediaPlayer._MediaPlayerEvents_EndOfStreamEventHandler(this.axMediaPlayer1_EndOfStream);
…..
}
private void axMediaPlayer1_EndOfStream(object sender, AxMediaPlayer._MediaPlayerEvents_EndOfStreamEvent e)
{
index++;
if(index<playListMp3.Count)
{
this.axMediaPlayer1.FileName= playListMp3[index].ToString();
this.axMediaPlayer1.Play();
}
else
{
index = 0;
}
}

private void menuItemPlay_Click(object sender, System.EventArgs e)
{
this.axMediaPlayer1.FileName= playListMp3[index].ToString();
this.axMediaPlayer1.Play();
}

private void menuItemAddmp3_Click(object sender, System.EventArgs e)
{
DirectoryInfo mediaDir = new DirectoryInfo("c:\\mp3");
FileInfo[] mediaMp3Arr = mediaDir.GetFiles("*.mp3");
foreach(FileInfo mediaMp3 in mediaMp3Arr)
{
playListMp3.Add(mediaMp3.FullName.ToString());
}
}
}
}

我按照上面的做了,

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
namespace pp
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
ArrayList playListMp3 = new ArrayList() ;
int index = 0;

private AxWMPLib.AxWindowsMediaPlayer axMediaPlayer1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

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()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
this.axMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
((System.ComponentModel.ISupportInitialize)(this.axMediaPlayer1)).BeginInit();
this.SuspendLayout();
//
// axMediaPlayer1
//


this.axMediaPlayer1.Enabled = true;
this.axMediaPlayer1.Location = new System.Drawing.Point(120, 144);
this.axMediaPlayer1.Name = "axMediaPlayer1";
this.axMediaPlayer1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axMediaPlayer1.OcxState")));
this.axMediaPlayer1.TabIndex = 0;
this.axMediaPlayer1.EndOfStream += new AxWMPLib._WMPOCXEvents_EndOfStreamEventHandler(this.axMediaPlayer1_EndOfStream);
this.axMediaPlayer1.Enter += new System.EventHandler(this.axMediaPlayer1_Enter);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 266);
this.Controls.Add(this.axMediaPlayer1);
this.Name = "Form1";
this.Text = "Form1";
((System.ComponentModel.ISupportInitialize)(this.axMediaPlayer1)).EndInit();
this.ResumeLayout(false);
* this.axMediaPlayer1.EndOfStream += new AxMediaPlayer._MediaPlayerEvents_EndOfStreamEventHandler(this.axMediaPlayer1_EndOfStream);

}
#endregion

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

private void axMediaPlayer1_Enter(object sender, System.EventArgs e)
{

}

private void axMediaPlayer1_EndOfStream(object sender, AxWMPLib._WMPOCXEvents_EndOfStreamEvent e)
{
index++;
if(index<playListMp3.Count)
{
* this.axMediaPlayer1.FileName= playListMp3[index].ToString();
* this.axMediaPlayer1.Play();
}
else
{
index = 0;
}

}
private void menuItemPlay_Click(object sender, System.EventArgs e)
{
* this.axMediaPlayer1.FileName= playListMp3[index].ToString();
* this.axMediaPlayer1.Play();
}

private void menuItemAddmp3_Click(object sender, System.EventArgs e)
{
DirectoryInfo mediaDir = new DirectoryInfo("c:\\mp3");
FileInfo[] mediaMp3Arr = mediaDir.GetFiles("*.mp3");
foreach(FileInfo mediaMp3 in mediaMp3Arr)
{
playListMp3.Add(mediaMp3.FullName.ToString());
}
}

}
}


出错信息如下:

1.找不到类型或命名空间名称“axMediaPlayer”(是否缺少 using 指令或程序集引用?)
2.“AxWMPLib.AxWindowsMediaPlayer”并不包含对“FileName”的定义
3.“AxWMPLib.AxWindowsMediaPlayer”并不包含对“Play”的定义
4.“AxWMPLib.AxWindowsMediaPlayer”并不包含对“FileName”的定义
5.“AxWMPLib.AxWindowsMediaPlayer”并不包含对“Play”的定义

在出错的位置前面我加了*,大家帮忙看看啊。。我是不是缺少命名空间啊。。。



...全文
1159 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
winter1981 2006-05-08
  • 打赏
  • 举报
回复
是MEDIAPLAYER 10, 应该怎么改啊,我也设playlist了。
Knight94 2006-05-08
  • 打赏
  • 举报
回复
如果用的是mediaplayer9以上插件的话,那么是不支持以上的属性,在mediaplayer9插件中,如果要播放多个文件,需要创建playlist。
播放某个文件是设置url属性。
soaringbird 2006-05-08
  • 打赏
  • 举报
回复
可能是你没有在项目中引用相关组件

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧