网站大量收购独家精品文档,联系QQ:2885784924

如何使用C制作播放器技术方法及代码.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何使用C制作播放器技术方法及代码

如何使用C#制作播放器技术方法及代码 要使 C# 代码引用 COM 对象和接口,需要在 C# 内部版本中包含 COM 接口的 .NET 框架定义。完成此操作的最简单方法是使用 TlbImp.exe(类型库导入程序),它是一个包括在 .NET 框架 SDK 中的命令行工具。TlbImp 将 COM 类型库转换为 .NET 框架元数据,从而有效地创建一个可以从任何托管语言调用的托管包装。用 TlbImp 创建的 .NET 框架元数据可以通过 /R 编译器选项包括在 C# 内部版本中。如果使用 Visual Studio 开发环境,则只需添加对 COM 类型库的引用,将为您自动完成此转换。 例如,我们要播放当前目录下的demo.avi文件,需要用到包含在位于 Windows 系统目录中的 Quartz.dll 中的媒体播放机。(c:\winnt\system32\quartz.dll)。可在命令行中运行TlbImp文件(C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\Tlbimp.exe) tlbimp c:\windows\system32\quartz.dll /out:QuartzTypeLib.dll 得到的新程序集放到目录C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin下面 请注意,得到的 DLL 需要命名为 QuartzTypeLib,以便 .NET 框架可以在运行时正确加载包含类型。 生成程序时使用 C# 编译器选项 /R 以包含 QuartzTypeLib.dll 文件;如果使用 Visual Studio 开发环境,直接添加引用即可(using QuartzTypeLib)。 然后就可以使用此程序显示影片了。 具体编写代码时,用到了RenderFile 和 Run 方法。例: private void menuItemOpen_Click(object sender, System.EventArgs e) { FilgraphManager m_FilGraphManager = null; IBasicAudio m_BasicAudio = null; IVideoWindow m_VideoWindow = null; IMediaEvent m_MediaEvent = null; IMediaEventEx m_MediaEventEx = null; IMediaPosition m_MediaPosition = null; IMediaControl m_MediaControl = null; OpenFileDialog OpenDialog = new OpenFileDialog(); OpenDialog.Filter = Media Files|*.mpg;*.avi;*.wma;*.mov;*.wav;*.mp2;*.mp3|All Files|*.*; //本例用对话框读入要显示的影片文件名 if (DialogResult.OK == OpenDialog.ShowDialog()) { m_FilGraphManager = new FilgraphManager(); m_FilGraphManager.RenderFile(OpenDialog.FileName); m_BasicAudio = m_FilGraphManager as IBasicAudio ; try { m_VideoWindow = m_FilGraphManager as IVideoWindow; m_VideoWindow.Owner = (int) panel1.Handle; m_VideoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN; //此设置可以不显示播放器的title,使播放器像嵌在窗体中。 //可设置 private const int WS_CHILD = 0 // private const int WS_CLIPCHILDREN = 0x2000000; m_VideoWindow.SetWindowPosition(panel1.ClientRectangle.Left, panel1.ClientRectangle.Top, panel1.ClientRectangle.Width, panel1.ClientRectangle.Height)

您可能关注的文档

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档