- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)
您可能关注的文档
- 商务部关于实施外国投资者并购境内企业安全审查制度的办事指南.doc
- 商业银行跨国并购现状和策略分析.doc
- 商场售后服务制度.doc
- 啤酒花生产工初级理论试卷B.doc
- 喀什2008地面气象测报上岗考试题.doc
- 嗅神经母细胞瘤的临床病理及免疫组化观察分析.doc
- 四位并行加法器设计.doc
- 四川公共基础知识.doc
- 四川理工物化实验--最大泡压法测定溶液表面张力1.doc
- 四年级语文秋季课程第六课时.doc
- 2024年03月江苏省盐城市射阳县卫生健康委员会直属事业单位校园招聘编制内医学类高层次和紧缺专业人才50人笔试历年专业考点(难、易错点荟萃)附带答案详解 .docx
- 2025年广州铁路职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年江苏城市职业学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年河南轻工职业学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025届北汽集团全球校园招聘正式开启笔试参考题库附带答案详解.pdf
- 2024年03月广东深圳市疾病预防控制中心选聘2人笔试历年专业考点(难、易错点荟萃)附带答案详解 .docx
- 2024年03月浙江舟山市卫生健康委员会部分直属事业单位招聘(第五批)宁波市考点考试笔试历年专业考点(难、易错点荟萃)附带答案详解 .docx
- 2025年泉州工程职业技术学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年宁夏工业职业学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2025年首发集团校园招聘开启笔试参考题库附带答案详解.pdf
文档评论(0)