设为首页 收藏本站
查看: 907|回复: 0

Win7+VS2005编译Qt4.7.3+phonon

[复制链接]

尚未签到

发表于 2015-5-15 10:57:07 | 显示全部楼层 |阅读模式
  Qt官网上下载的源代码在编译时并没有将phonon继承进去,只提供了源代码,而在Win7+VS2005中编译phonon时遇到不少的问题,因为phonon只是一个前端程序,要使用其实现多媒体的播放还需要配合Qt基本库、phonon_backend(后端插件)和多媒体播放后台等等。

phonon只提供了一套API接口给客户端程序调用,同时为后端插件提供一个规范,向后端插件传递客户端程序发出的指令,并且从后端插件返回给客户端程序当前媒体的状态和信息,起到桥梁的作用。而后端插件才是实际进行读入媒体、解码并且播放的部分,所以要在Qt环境下使用phonon需要:

  • 编译Phonon库:通常情况下Qt默认没有编译Phonon以及Phonon_backend,需要在configure时加入-phonon和-phonon-backend参数,然后单独进入phohoh文件夹进行编译即可;
  • 编译Phonon后端插件:Qt为3大平台提供了一个可用的后端插件,放在src/plugins/phonon目录下。进入目录编译即可,Qt会自动选择当前系统对应的后端插件。对于Windows平台,Qt只提供了DirectShow这个后端插件,并且调用的是DX的SDK,所以只能由VC编译,如果是MinGW用户,可以选择-phonon-vlc-mplayer作为后端插件;而DirectShow同样也只是一个框架,解码还得靠系统里安装的解码器和滤镜,下面要详细说明的就是编译这个后端插件的过程;
  • 在后端插件编译完成后,可以运行Demo中的mediaplayer测试;

安装Microsoft .Net Framework 4.0 Full
安装Win7 SDK前需要安装Microsoft .Net Framework 4.0 Full,到微软官网下载安装程序安装即可;
DSC0000.png

安装Win7 SDK
安装Win7 SDK之前确保所有VC运行库(vc++ x86/64 runtime/redistributable)版本不能大于10.0.30319,如存在大于此版本的运行库则卸载,否则会导致编译失败;
DSC0001.png
卸载完高版本的运行库后开始安装SDK,默认选项:
DSC0002.png

重新配置Qt编译选项
安装完毕后运行Visual Studio 2005 Command prompt,重新configure Qt,先nmake confclean一次,清除以前配置过的文件;
DSC0003.png
DSC0004.png
清理完毕后重新配置Qt编译命令:configure -debug-and-release -platform win32-msvc2005 -plugin-sql-sqlite -plugin-sql-odbc -phonon -phonon-backend -vcproj
DSC0005.png


单独编译Phonon以及Phonon backend
重新配置完毕后直接进入phonon目录编译phonon库%QTDIR%\src\phonon,编译完毕后再进入%QTDIR%\src\plugins\phonon 编译phonon backend,此时会报错找不到dshow.h文件,原因是没有将平台SDK include文件的路径添加到环境变量中去,运行脚本:C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd
然后再nmake一次即可编译出phonon_ds9d4.dll和phonon_ds94.dll,


测试
此时运行Qt自带的例子

打开媒体播放没问题说明编译成功。

总结

  • 此前根据诺基亚开发文档说明,为phonon的编译准备安装了DirectX SDK,后来重新编译一次以后发现不知从何时开始DirectShow已经被整合到Platform SDK中去,此次编译安装的Platform SDK版本为7.1,已经包含DirectShow,所以无需再安装DirectX SDK。
  • 关于安装Microsoft .Net Framework 4.0 Full,第一次在台式机编译phonon时因为台式机已经安装Visual Studio 2010,自带Microsoft .Net Framework 4.0,但不知道是否完整版本,后来编译通过了;第二次编译Phonon在笔记本中,环境为Win7+Visual Studio 2005,没有手动安装Microsoft .Net Framework 4.0 Full,但已经手动打完所有Windows更新补丁,通过更新程序检查已无更新可用,编译Phonon一样通过。
  • 关于运行C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd,此脚本须在Visual Studio 2005 Command prompt命令行窗口中执行,设置的环境变量仅对当前编译的工程有效,本人一开始以为在windows的cmd窗口中执行可以设置系统环境变量,后来编译phonon backend的时候还是报错,找不到dshow.h文件,才知道要在当前编译命令行窗口中执行此脚本。
  • 从新配置Qt编译选项后无须再重新全编译一次Qt,选择性编译phonon和phonon backend就可以,节省时间。
  转载请注明:http://www.iyunv.com/bingcaihuang/archive/2013/03/21/2972721.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-67153-1-1.html 上篇帖子: win7 下设置java环境变量 下篇帖子: Win7启动时出现“windows未能启动。原因可能是最近更改了硬件或软件。”的修复方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表