我想开发一个媒体播放器/录音机。
主要目标平台是Windows,支持其他操作系统就更好了,但这不是一个高优先级。它应该能够播放 wav、mp3、avi 等格式。它还应该能够录制音频(麦克风)和视频(网络摄像头或采集卡)。
由于我对 QT 和 C++ 有一些经验,所以我研究了带有 DS 后端的 QT (4.7.2) 声子。但不幸的是,即使使用 QT 演示附带的 MediaPlayer 示例,我也无法播放简单的 AVI。我只能听到声音,但看不到视频。
开发者机器是 64 位 Vista。我还在另一个 64 位 Vista 上尝试过,但没有成功。在 32 位 Win7 (QT MinGW) 上它终于可以工作了。但是当我将 MediaPlayer 可执行文件及其 dll 复制到 64 位计算机并尝试运行它时,它再次失败。
64 位机器上的 QT 声子是否存在已知问题?我还听说过 VLC 声子后端。这可以是解决方案吗? QT 声子是否足够成熟,可以在其之上开发商业应用程序?或者直接访问 directshow 可能更明智?
Thanks
Directshow 只是一个编程框架或 API,它并不能保证您能够在每台计算机上播放每种可能的视频格式,因为它依赖于codecs http://en.wikipedia.org/wiki/Codec安装在系统上以解压缩音频/视频流。一种特定格式的编解码器可能在一个系统中可用,而在另一个系统中则不可用。最重要的是,64 位架构增加了更多的复杂性,因为以 64 位模式构建的编解码器不能在 32 位应用程序中使用,反之亦然。您在 32 位 Phonon 播放器上遇到的问题很可能是由于缺少或“不兼容 32 位”编解码器造成的。
另一方面,VLC 是一个独立的应用程序,它不依赖于 DirectShow 或系统上安装的任何编解码器,因此使用它代替 DirectShow 可能是一个好主意,但是您需要阅读VLC 法律条款 http://www.videolan.org/legal.html并决定您是否仍然可以将其用于您的目的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)