您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:249 来源:vckbase.com

WinCE4.2 下轻松调用 Windows Media Player 控件

作者:至尊宝


  小弟是个刚入门的菜鸟,现在大家都在做嵌入式开发了,所以我也来凑凑热闹。菜鸟就是菜鸟,这不,现在想在 WinCE4.2 下播放 wma、mp3 音乐,可是连个 Winodws Media Player 控件都不知道该怎么调用。大家可不要笑啊,以前我在 Winodws2000 平台下,感觉调用这个控件非常简单,可是在 WinCE4.2 平台下就没辙了。为什么呢?原因就是基于 WinCE4.2 平台的程序开发要在 Windows2000 等平台上做,可是在 Windows2000 平台上调出来的 Windows Media Player 控件不能在 WinCE4.2平台上用。我想,大部分朋友都遇到过这个问题。
逆风编程精品
Windows Media Player 控件虽然是个好东东,可对于初学者却没法下手。
  有人说,你可以用COM嘛!老大,COM对于我们这种菜鸟,那真是用还不如不用,一知半解的还不如不用,再说了用了也白用,我找了好多资料,用COM调用 Windows Media Player 控件可是还是没声音,我也不知道哪一步做错了。这该怎么办?难道我们这些菜鸟果真不能做嵌入式开发吗?吾紧锁眉头、冥思苦想!

山穷水尽疑无路,柳暗花明又一村!

菜鸟的福音!

  经过我在网上海掏,终于找到了一点眉目。首先要明确的一点是,WinCE4.2 操作系统里自带的 Windows Media Player 控件其实是 6.4版本,根本不是它界面上显示的 9.0 版本。所以,我们大家都被骗了,盖兹拿 6.4 版本当 9.0 版卖。另外还要明确的一点就是,这个WinCE4.2 操作系统里的 6.4 控件跟 Windows2000 下的 6.4 版本一模一样。明确以上两点后,一切就好办了!

首先,在PC机的[开始]-[运行]里执行以下命令:

regsvr32 c:\windows\system32\wmp.dll /u

这句的意思就是卸载掉 Windows Media Player 9.0 版本的控件的注册。然后,在PC机的[开始]-[运行]里执行以下命令:

regsvr32 c:\windows\system32\msdxm.ocx

这句的意思是注册 Windows Media Player 6.4 版本的控件。

  接下来,打开 eMbedded Visual C 4.0,建立一个我们菜鸟们最喜欢的MFC对话框工程,在向导中把允许 ActiveX 控件打上钩,一路下一步。完成向导后,选择 [Project] 菜单中的 [Add to project] 中的 [Components and controls],弹出 Componests and Controls Gallery 对话框,打开 Registered ActiveX Controls 文件夹,显示出好几项来,最后面一项就是 [Windows Media Player],选中后点击[Insert]按钮,弹出Confirm Classes对话框,点OK按钮确定。这时,在对话框编辑窗口中的工具栏中就应该有 Windows Media Player 控件了,应该在最低下那个,好像显示的是个叉。
  现在,从工具栏中拖一个 Windows Media Player 控件到对话框中,然后在 ClassWizard 中建立一个指向 Windows Media Player 控件的变量,再后边的对于我们这些菜鸟也就不是很难了!
  最后,选择你自己的平台编译一个Release版本,然后在你的嵌入式设备上运行一下看看,感觉跟在Windows2000平台上没什么两样。

现在介绍一下小弟的开发环境和开发平台:

PC机端:

操作系统:Windows XP Professional SP2

开发工具:eMbedded Visual C 4.0

嵌入式设备端:

操作系统:Windows CE .Net 4.2

硬件平台:三星2410

结束语

  这是小弟第一次在VC知识库发表文章,虽然跟肉鸟们的文章没法比,但这也是我自己的经验,我相信向我一样的菜鸟还是比较多的,希望这篇文章对我们广大的菜鸟们能起到一点点的帮助!

相关文章

C 类对象的拷贝构造函数
VC Oracle 开发入门
MFC Activex 录音机控件
VC.NET简单实现GIF动画
清理VC工程
论软件接口中几种底层通讯的实现
简单PID数字控制的VC程序实现
在非MFC程序中引用CString
介绍一个操作DHTML表格的C 对象
案例研究:If-Trader 订单流程处理系统
带光圈文字输出的实现
浅析三线程程序开发思路与实现
.NET Remoting与分布式应用开发——初识 Re
介绍一个控制并行端口的MFC类
WTL字体类
OAL点点滴滴(二)
如何获取网页中的密码和文本输入框的内容
深入 CSocket 编程之阻塞和非阻塞模式
如何获取其它进程中窗口的窗口过程
OAL点点滴滴(一)

相关评论


本文章所属分类:首页 VC++

  热门关键字: