现在的位置: 首页 > 综合 > 正文

meego上播放视频的方法总结

2013年02月20日 ⁄ 综合 ⁄ 共 1041字 ⁄ 字号 评论关闭

转载时请注明出处和作者联系方式
文章出处:
http://blog.csdn.net/jack0106
作者联系方式:冯牮
fengjian0106@yahoo.com.cn

 

1. meego上的多媒体编程,使用的框架是gstreamer,所以,在命令行下,可以用gstreamer,但是,我们真正关注的是,如何在GUI环境中,播放视频(这里说的视频,包括本地视频文件,以及网络在线视频)。

2. 根据最近的调试工作和代码阅读,发现了两种可行的办法。

2.1 libmeegotouch中,有个MVideoWidget,可以播放本地视频文件(仅仅是本地视频文件),该widget的代码实现,也是使用了gstreamer,但是,gstreamer的使用细节,完全被隐藏了。如果想播放网络视频,或其他类型的视频,我觉得,比较合理的方法是参照MVideoWidget的源代码,进行一定的修改,主要是修改MVideoWidget中使用的gstreamer pipeline,然后重新实现一个新的widget,使其可以播放网络视频或其他视频数据源。

另外,在libmeegotouch源码目录/libmeegotouch/demos/widgetsgallery中的demo程序 widgetsgallery,使用了MVideoWidget,可以通过这个代码,学习MVideoWidget的使用方法。

2.2 在目前我们使用的meego镜像中,有个meegovideo程序,其git地址是 git://gitorious.org/meego-handset-ux/meego-handset-video.git

分析meegovideo的源代码,发现并没有使用MVideoWidget,而是使用了QMediaPlayer类,QMediaPlayer属于Qt-Mobility中的一个新框架--Multimedia,所以,这应该是另外一种解决办法。

简单看了一下该框架的文档,发现其中的QMediaContent,是可以设置QUrl的,这也许就说明,Qt-Mobility中的Multimedia框架,是一个更好的选择,更通用的方案。  

3. 不管使用哪一种方案,难度都很大,需要看代码分析代码。

4. 另外,补充说明一下,qt中,本来已经有一个多媒体框架, Phonon。 而Qt-Mobility中的Multimedia框架,是一个新的框架。这两个框架,应该也是竞争关系,更多的信息,可以上网搜索。

5. 如有新的发现,会补充到本文档中。

抱歉!评论已关闭.