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知识库发表文章,虽然跟肉鸟们的文章没法比,但这也是我自己的经验,我相信向我一样的菜鸟还是比较多的,希望这篇文章对我们广大的菜鸟们能起到一点点的帮助!

你可能感兴趣的:(windows,嵌入式,平台,WinCE,Components,程序开发)