求C#播放器代码 把Windows Media Player 嵌进去不久可以了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //属性,自动播放this.axWindowsMediaPlayer1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWindowsMediaPlayer1.OcxState")));//直接给地址就能播放this.axWindowsMediaPlayer1.URL ="要播放的文件的地址";//如果要判断播放的状态,用这个事件this.axWindowsMediaPlayer1.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(this.axWindowsMediaPlayer1_PlayStateChange);//判断状态的改变private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e){ if (this.axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded) { //。。 }} 播放DVD文件 http://download.csdn.net/source/377149播放RealPlayer文件 http://download.csdn.net/source/377133 饮用ActiveMovie API,你可以在picbox里面实现玻方 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2110279 Real Player<OBJECT ID='RMPlayer' CLASSID='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' HEIGHT='150' WIDTH='200'><param name='_ExtentX' value='9313'><param name='_ExtentY' value='7620'><param name='AUTOSTART' value='true'><param name='SHUFFLE' value='1'><param name='PREFETCH' value='0'><param name='NOLABELS' value='0'><param name='SRC' value='E:\\MUSIC\\callme.wma'><param name='CONTROLS' value='ImageWindow'><param name='CONSOLE' value='ControlPanel'><param name='LOOP' value='0'><param name='NUMLOOP' value='0'><param name='CENTER' value='0'><param name='MAINTAINASPECT' value='0'><param name='BACKGROUNDCOLOR' value='#000000'></OBJECT>到我的blog裏面看看,我整理過的一些http://blog.csdn.net/nj_1st_excellence/archive/2008/01/24/2062521.aspx 我手里有一个:http://hi.baidu.com/sageking2/blog/item/d4e5a20fee46b72c6159f314.html 嵌入Media Player 应该可以.网上有类似的源码.可以搜一下 源码太多了,baidu或者google一下,省的在这里受气! 把暴风的控件拖进去也行啊在我的blog有 我做了一个你要吗?需要的话,可以去下载,在SCDN /*C#.NET2005实现一个流媒体播放器2007-04-05 16:38用C#.NET2005实现一个流媒体播放器,感觉还是不错的,就是调用了Windows中的一个动态连接库——Quarz.dll。我写的是一个DirectShow多媒体播放器。支持目前为止的大部分格式。代码共享一下:*/using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using QuartzTypeLib;//这个就是Quarz.dll转换后的Dll文件namespace myMedia{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } // private System.ComponentModel.IContainer components; private const int WM_APP = 0x8000; private const int WM_GRAPHNOTIEY = WM_APP + 1; private const int EC_COMPLETE = 0x01; private const int WS_CHILD = 0x40000000; private const int WS_CLIPCHILDREN = 0x2000000; private FilgraphManager m_objFilterGraph = null; private IBasicAudio m_objBasicAudio = null; private IVideoWindow m_objVideoWindow = null; private IMediaEvent m_objMediaEvent = null; private IMediaEventEx m_objMediaEventEx = null; private IMediaPosition m_objMediaPosition = null; private IMediaControl m_objMediaControl = null; enum MadiaStatus { None, Stopped, Paused, Running }; private MadiaStatus m_CurrentStatus = MadiaStatus.None; private void CleanUp() { if (m_objMediaControl != null) { m_objMediaControl.Stop(); } m_CurrentStatus = MadiaStatus.Stopped; if (m_objMediaEventEx != null) m_objMediaEventEx.SetNotifyWindow(0, 0, 0); if (m_objVideoWindow != null) { m_objVideoWindow.Visible = 0; m_objVideoWindow.Owner = 0; } if (m_objMediaControl != null) m_objMediaControl = null; if (m_objMediaPosition != null) m_objMediaPosition = null; if (m_objMediaEventEx != null) m_objMediaEventEx = null; if (m_objMediaEvent != null) m_objMediaEvent = null; if (m_objBasicAudio != null) m_objBasicAudio = null; if (m_objFilterGraph != null) m_objFilterGraph = null; } private void Open_Dialog(object sender, System.EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Media Files|*.mpg;*.avi;*.wma;*.mov;*.mav;*.mp2;*.mp3;*.rm;*.rmvb|All Files|*.*"; if (DialogResult.OK == openFileDialog.ShowDialog()) { CleanUp(); m_objFilterGraph = new FilgraphManager(); m_objFilterGraph.RenderFile(openFileDialog.FileName); try { m_objBasicAudio = m_objFilterGraph as IBasicAudio; m_objVideoWindow = m_objFilterGraph as IVideoWindow; m_objVideoWindow.Owner = (int)panel1.Handle; m_objVideoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN; m_objVideoWindow.SetWindowPosition(panel1.ClientRectangle.Left, panel1.ClientRectangle.Top, panel1.ClientRectangle.Width, panel1.ClientRectangle.Height); } catch (Exception ex) { MessageBox.Show("该文件没有图象信息!"); m_objVideoWindow = null; } m_objMediaEvent = m_objFilterGraph as IMediaEvent; m_objMediaEventEx = m_objFilterGraph as IMediaEventEx; m_objMediaPosition = m_objFilterGraph as IMediaPosition; m_objMediaControl = m_objFilterGraph as IMediaControl; this.Text = "DirectShow - [" + openFileDialog.FileName + "]"; m_objMediaControl.Run(); m_CurrentStatus = MadiaStatus.Running; } } private void UpdateToolBar()//用了一个toolStrip { switch (m_CurrentStatus) { case MadiaStatus.None: toolStripButton1.Enabled = true; toolStripButton2.Enabled = false; toolStripButton3.Enabled = false; toolStripButton4.Enabled = false; toolStripButton5.Enabled = true; break; case MadiaStatus.Paused: toolStripButton1.Enabled = false; toolStripButton2.Enabled = true; toolStripButton3.Enabled = false; toolStripButton4.Enabled = true; toolStripButton5.Enabled = true; break; case MadiaStatus.Running: toolStripButton1.Enabled = false; toolStripButton2.Enabled = false; toolStripButton3.Enabled = true; toolStripButton4.Enabled = true; toolStripButton5.Enabled = true; break; case MadiaStatus.Stopped: toolStripButton1.Enabled = true; toolStripButton2.Enabled = false; toolStripButton3.Enabled = false; toolStripButton4.Enabled = false; toolStripButton5.Enabled = true; break; } } private void ExitWin(object sender, System.EventArgs e) { this.Close(); } private void toolStripButton1_Click(object sender, EventArgs e) { Open_Dialog(sender, e); UpdateToolBar(); } private void toolStripButton2_Click(object sender, EventArgs e) { m_objMediaControl.Run(); m_CurrentStatus = MadiaStatus.Running; UpdateToolBar(); } private void toolStripButton3_Click(object sender, EventArgs e) { m_objMediaControl.Pause(); m_CurrentStatus = MadiaStatus.Paused; UpdateToolBar(); } private void toolStripButton4_Click(object sender, EventArgs e) { m_objMediaPosition.CurrentPosition = 0; m_CurrentStatus = MadiaStatus.Stopped; CleanUp(); UpdateToolBar(); } private void toolStripButton5_Click(object sender, EventArgs e) { ExitWin(sender, e); } private void Form1_SizeChanged(object sender, EventArgs e) { panel1.Size = Form1.ActiveForm.Size; if (m_objVideoWindow != null) { m_objVideoWindow.SetWindowPosition(panel1.ClientRectangle.Left, panel1.ClientRectangle.Top, panel1.ClientRectangle.Width, panel1.ClientRectangle.Height); } } private void Form1_Load(object sender, EventArgs e) { this.Text = "我的制作——流媒体播放器"; UpdateToolBar(); } } 加一个windows media play 就行了 然后把他的URL设置为音频文件的路径即可 http://download.csdn.net/source/2955015 c#问题 关于迅雷等下载软件判断多个镜像文件相同的问题。 Winform画拓扑图???? 如何理解C#的面向对象 调用存储过程 入何给在页面里给<asp:Button>增加浏览器端onclick事件? 如何得到方法的IntPtr 请教:关于在XPath表达式中无法取得对应值的问题? 求个正则 WCF传输速度。 如何往datagridview的dataset中添加空白行???谢过了。 紧急求救,C#发送传真
this.axWindowsMediaPlayer1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWindowsMediaPlayer1.OcxState")));
//直接给地址就能播放
this.axWindowsMediaPlayer1.URL ="要播放的文件的地址";
//如果要判断播放的状态,用这个事件
this.axWindowsMediaPlayer1.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(this.axWindowsMediaPlayer1_PlayStateChange);
//判断状态的改变
private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
if (this.axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
{
//。。
}
}
播放RealPlayer文件 http://download.csdn.net/source/377133
<param name='_ExtentX' value='9313'>
<param name='_ExtentY' value='7620'>
<param name='AUTOSTART' value='true'>
<param name='SHUFFLE' value='1'>
<param name='PREFETCH' value='0'>
<param name='NOLABELS' value='0'>
<param name='SRC' value='E:\\MUSIC\\callme.wma'>
<param name='CONTROLS' value='ImageWindow'>
<param name='CONSOLE' value='ControlPanel'>
<param name='LOOP' value='0'>
<param name='NUMLOOP' value='0'>
<param name='CENTER' value='0'>
<param name='MAINTAINASPECT' value='0'>
<param name='BACKGROUNDCOLOR' value='#000000'>
</OBJECT>到我的blog裏面看看,我整理過的一些
http://blog.csdn.net/nj_1st_excellence/archive/2008/01/24/2062521.aspx
在我的blog有
/*C#.NET2005实现一个流媒体播放器
2007-04-05 16:38
用C#.NET2005实现一个流媒体播放器,感觉还是不错的,就是调用了Windows中的一个动态连接库——Quarz.dll。我写的是一个DirectShow多媒体播放器。支持目前为止的大部分格式。代码共享一下:*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using QuartzTypeLib;//这个就是Quarz.dll转换后的Dll文件
namespace myMedia
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// private System.ComponentModel.IContainer components;
private const int WM_APP = 0x8000;
private const int WM_GRAPHNOTIEY = WM_APP + 1;
private const int EC_COMPLETE = 0x01;
private const int WS_CHILD = 0x40000000;
private const int WS_CLIPCHILDREN = 0x2000000;
private FilgraphManager m_objFilterGraph = null;
private IBasicAudio m_objBasicAudio = null;
private IVideoWindow m_objVideoWindow = null;
private IMediaEvent m_objMediaEvent = null;
private IMediaEventEx m_objMediaEventEx = null;
private IMediaPosition m_objMediaPosition = null;
private IMediaControl m_objMediaControl = null;
enum MadiaStatus { None, Stopped, Paused, Running };
private MadiaStatus m_CurrentStatus = MadiaStatus.None;
private void CleanUp()
{
if (m_objMediaControl != null)
{
m_objMediaControl.Stop();
}
m_CurrentStatus = MadiaStatus.Stopped;
if (m_objMediaEventEx != null)
m_objMediaEventEx.SetNotifyWindow(0, 0, 0);
if (m_objVideoWindow != null)
{
m_objVideoWindow.Visible = 0;
m_objVideoWindow.Owner = 0;
}
if (m_objMediaControl != null) m_objMediaControl = null;
if (m_objMediaPosition != null) m_objMediaPosition = null;
if (m_objMediaEventEx != null) m_objMediaEventEx = null;
if (m_objMediaEvent != null) m_objMediaEvent = null;
if (m_objBasicAudio != null) m_objBasicAudio = null;
if (m_objFilterGraph != null) m_objFilterGraph = null;
}
private void Open_Dialog(object sender, System.EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Media Files|*.mpg;*.avi;*.wma;*.mov;*.mav;*.mp2;*.mp3;*.rm;*.rmvb|All Files|*.*";
if (DialogResult.OK == openFileDialog.ShowDialog())
{
CleanUp();
m_objFilterGraph = new FilgraphManager();
m_objFilterGraph.RenderFile(openFileDialog.FileName);
try
{
m_objBasicAudio = m_objFilterGraph as IBasicAudio;
m_objVideoWindow = m_objFilterGraph as IVideoWindow;
m_objVideoWindow.Owner = (int)panel1.Handle;
m_objVideoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN;
m_objVideoWindow.SetWindowPosition(panel1.ClientRectangle.Left, panel1.ClientRectangle.Top, panel1.ClientRectangle.Width, panel1.ClientRectangle.Height);
}
catch (Exception ex)
{
MessageBox.Show("该文件没有图象信息!");
m_objVideoWindow = null;
}
m_objMediaEvent = m_objFilterGraph as IMediaEvent;
m_objMediaEventEx = m_objFilterGraph as IMediaEventEx;
m_objMediaPosition = m_objFilterGraph as IMediaPosition;
m_objMediaControl = m_objFilterGraph as IMediaControl;
this.Text = "DirectShow - [" + openFileDialog.FileName + "]";
m_objMediaControl.Run();
m_CurrentStatus = MadiaStatus.Running;
}
}
private void UpdateToolBar()//用了一个toolStrip
{
switch (m_CurrentStatus)
{
case MadiaStatus.None:
toolStripButton1.Enabled = true;
toolStripButton2.Enabled = false;
toolStripButton3.Enabled = false;
toolStripButton4.Enabled = false;
toolStripButton5.Enabled = true;
break;
case MadiaStatus.Paused:
toolStripButton1.Enabled = false;
toolStripButton2.Enabled = true;
toolStripButton3.Enabled = false;
toolStripButton4.Enabled = true;
toolStripButton5.Enabled = true;
break;
case MadiaStatus.Running:
toolStripButton1.Enabled = false;
toolStripButton2.Enabled = false;
toolStripButton3.Enabled = true;
toolStripButton4.Enabled = true;
toolStripButton5.Enabled = true;
break;
case MadiaStatus.Stopped:
toolStripButton1.Enabled = true;
toolStripButton2.Enabled = false;
toolStripButton3.Enabled = false;
toolStripButton4.Enabled = false;
toolStripButton5.Enabled = true;
break;
}
}
private void ExitWin(object sender, System.EventArgs e)
{
this.Close();
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
Open_Dialog(sender, e);
UpdateToolBar();
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
m_objMediaControl.Run();
m_CurrentStatus = MadiaStatus.Running;
UpdateToolBar();
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
m_objMediaControl.Pause();
m_CurrentStatus = MadiaStatus.Paused;
UpdateToolBar();
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
m_objMediaPosition.CurrentPosition = 0;
m_CurrentStatus = MadiaStatus.Stopped;
CleanUp();
UpdateToolBar();
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
ExitWin(sender, e);
}
private void Form1_SizeChanged(object sender, EventArgs e)
{
panel1.Size = Form1.ActiveForm.Size;
if (m_objVideoWindow != null)
{
m_objVideoWindow.SetWindowPosition(panel1.ClientRectangle.Left, panel1.ClientRectangle.Top, panel1.ClientRectangle.Width, panel1.ClientRectangle.Height);
}
}
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "我的制作——流媒体播放器";
UpdateToolBar();
}
}