如何使用Quartz库播放MP3歌曲文件
来源:互联网 发布:日语网络培训班 编辑:程序博客网 时间:2024/05/16 01:13
此编程方法主要是使用Quartz苦的未托管QuartzTypeLid.IMediaControl组件播放MP3文件。在使用该组件之前,首先应该在程序项目中添加“[windowsDir]/System32/quartz.dll”引用。实现该技巧的主要源代码如下:
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{//播放MP3歌曲文件
string MyFileName = Application.StartupPath+"//After.mp3";
// 访问IMediaControl接口
QuartzTypeLib.FilgraphManager graphManager =new QuartzTypeLib.FilgraphManager();
QuartzTypeLib.IMediaControl MyControl=(QuartzTypeLib.IMediaControl)graphManager;
MyControl.RenderFile(MyFileName);
// 异步播放
MyControl.Run();
//停止
//MyControl.Stop();
}
private const int WM_APP = 0x8000;
private const int WM_GRAPHNOTIFY = WM_APP + 1;
private const int EC_COMPLETE = 0x01;
private const int WS_CHILD = 0x40000000;
private const int WS_CLIPCHILDREN = 0x2000000;
private QuartzTypeLib.IMediaControl MyControl = null;
private QuartzTypeLib.IVideoWindow MyWindow = null;
private void button2_Click(object sender, EventArgs e)
{//播放MPG视频文件
OpenFileDialog MyDialog = new OpenFileDialog();
MyDialog.Filter ="Media Files|*.mpg;*.avi;*.wma;*.mov;*.wav;*.mp2;*.mp3|All Files|*.*";
if (DialogResult.OK == MyDialog.ShowDialog())
{
if (MyControl != null) MyControl.Stop();
QuartzTypeLib.FilgraphManager MyManager = new QuartzTypeLib.FilgraphManager();
MyManager.RenderFile(MyDialog.FileName);
try
{
MyWindow = (QuartzTypeLib.IVideoWindow)MyManager;
MyWindow.Owner = (int)pictureBox1.Handle;
MyWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN;
MyWindow.SetWindowPosition(
pictureBox1.ClientRectangle.Left,
pictureBox1.ClientRectangle.Top,
pictureBox1.ClientRectangle.Width,
pictureBox1.ClientRectangle.Height);
}
catch
{
}
MyControl = (QuartzTypeLib.IMediaControl)MyManager;
MyControl.Run();
}
}
}
}
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{//播放MP3歌曲文件
string MyFileName = Application.StartupPath+"//After.mp3";
// 访问IMediaControl接口
QuartzTypeLib.FilgraphManager graphManager =new QuartzTypeLib.FilgraphManager();
QuartzTypeLib.IMediaControl MyControl=(QuartzTypeLib.IMediaControl)graphManager;
MyControl.RenderFile(MyFileName);
// 异步播放
MyControl.Run();
//停止
//MyControl.Stop();
}
private const int WM_APP = 0x8000;
private const int WM_GRAPHNOTIFY = WM_APP + 1;
private const int EC_COMPLETE = 0x01;
private const int WS_CHILD = 0x40000000;
private const int WS_CLIPCHILDREN = 0x2000000;
private QuartzTypeLib.IMediaControl MyControl = null;
private QuartzTypeLib.IVideoWindow MyWindow = null;
private void button2_Click(object sender, EventArgs e)
{//播放MPG视频文件
OpenFileDialog MyDialog = new OpenFileDialog();
MyDialog.Filter ="Media Files|*.mpg;*.avi;*.wma;*.mov;*.wav;*.mp2;*.mp3|All Files|*.*";
if (DialogResult.OK == MyDialog.ShowDialog())
{
if (MyControl != null) MyControl.Stop();
QuartzTypeLib.FilgraphManager MyManager = new QuartzTypeLib.FilgraphManager();
MyManager.RenderFile(MyDialog.FileName);
try
{
MyWindow = (QuartzTypeLib.IVideoWindow)MyManager;
MyWindow.Owner = (int)pictureBox1.Handle;
MyWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN;
MyWindow.SetWindowPosition(
pictureBox1.ClientRectangle.Left,
pictureBox1.ClientRectangle.Top,
pictureBox1.ClientRectangle.Width,
pictureBox1.ClientRectangle.Height);
}
catch
{
}
MyControl = (QuartzTypeLib.IMediaControl)MyManager;
MyControl.Run();
}
}
}
}
- 如何使用Quartz库播放MP3歌曲文件
- 如何读取MP3歌曲文件标志信息
- IOS使用AVAudioPlayer播放mp3歌曲文件并监听来电打断
- IOS使用AVAudioPlayer播放mp3歌曲文件并监听来电打断
- IOS使用AVAudioPlayer播放mp3歌曲文件并监听来电打断
- 在asp.net中如何播放MP3的歌曲?
- 使用DirectSound播放MP3文件
- MP3播放器显示歌曲列表部分
- UI05 _ 播放MP3格式的歌曲
- 如何获取mp3文件的播放时间
- MP3文件如何计算总播放时间
- 新手mp3播放器心得(一)---- 获取所有歌曲(遍历文件获取、媒体库获取)
- MediaPlayer 播放 MP3文件的简单使用
- 如何控制ASX文件歌曲列表的播放
- flex MP3播放器开发二(单歌曲播放)
- 音乐播放器(4)--Mp3歌曲播放与控制
- PowerPoint中如何插入MP3歌曲
- NOKIA C6-00 MP3歌曲文件乱码
- [转]药罐子的中国人
- 流浪在深圳
- 工作之初体验
- Http 错误集
- JAVA中随机字符串的取得
- 如何使用Quartz库播放MP3歌曲文件
- 2006年度全国搜索引擎和网上信息挖掘学术研讨会(与会者PPT:推荐)
- 哥哥对我说了一些有意义的话
- RMI示例(利用RMI plug-in for Eclipse)
- 新手如何使用PHP创建RSS阅读器
- [转] 100部陪伴我们长大的电影 !
- 用PHP程序实现随机广告图片显示
- 对付ARP欺骗攻击16a.us病毒的解决方案
- 文件夹复制操作(非递归循环遍历文件夹) C#