大概用了将近一周时间,从开始选定方法,对phonon一窍不通,到最后好不容易完成初品,实在不易,所以将整个过程记录下来,也许这还是其中的一点点问题,但也希望能帮到大家。
首先,我查了许多资料,比如QTAV,gstreamer,vlc等,但由于网上phonon+mplayer的教程很多,所以选了这条路。
作为入门的资料:推荐http://blog.csdn.net/lywzgzl/article/details/39184389,这是我转载并整理的。
在这期间遇到了以下问题:
1.安装phonon:
在网上搜到了许多方法,都没成功,最后试了
sudo apt-get install libphonon-dev libphonon4 phonon-backend-gstreamer,居然就成功了,在QT编译器中试试include一下看有没有。
2.安装mplyer:
这个是我很纠结的地方,因为我到最后也不清楚到底是用了mplayer没有。安装mplayer的方法我也是用的最直接的,在ubuntu的更新中心里下载,之前网上的方法我都失败了。并且,我还在更新中心下载了Gstreamer相关的,以及vlc播放器。
3.安装phonon-mlpayer:
这个我是安照网上的方法试的,下载的是http://download.csdn.net/detail/lywzgzl/7908433,可以用。这里要提示一下。我的qt中就没有phonon_backed,就自己建一个文件夹,按网上的说法把。so文件放进去。
4.只有声音没有图像:
在编译的时候,提示了两次需要解码器,第一次是提示需要video/x-surface,第二次是提示需要H.264解码器。第一次的解决方法是gstreamer-ffmpeg-0.10.11-2.el6.i686.rpm,下载地址:http://download.csdn.net/detail/lywzgzl/7909067。
当然也可以把网上说的一些方法试一下。这里我觉得有用的下载w32codecs-1.0-20110131.fc19.i686.rpm,以及
all-20061022.tar.bz2
地址:http://download.csdn.net/detail/lywzgzl/7908465,http://u.download.csdn.net/upload?ref=toolbar.
这里是我的一些解决方法,希望能帮到大家。
附我的一个简单测试程序:
在main.cpp中:
#include <QtGui/QApplication>
#include "widget.h"
#include <QApplication>
#include <QWidget>
#include <phonon>
#include <QUrl>
#include <QObject>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QTextCodec>
#include <VideoCaptureDevice>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setApplicationName("Player");
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));//设置编码格式
QWidget *widget = new QWidget;
widget->setWindowTitle("Video Player");
widget->resize(400,400);
// void QCoreApplication::addLibraryPath ( const QString & path ) ;
Phonon::MediaObject *mediaObject = new Phonon::MediaObject;
mediaObject->setCurrentSource(Phonon::MediaSource("/home/ubuntu/桌面/phononvedio/听妈妈的话.mpg"));
Phonon::VideoWidget *videowidget = new Phonon::VideoWidget;
Phonon::createPath(mediaObject,videowidget);
Phonon::AudioOutput *audiooutput = new Phonon::AudioOutput(Phonon::VideoCategory);
Phonon::createPath(mediaObject,audiooutput);
mediaObject->play();
videowidget->show();
return a.exec();
}
最后
以上就是俭朴唇彩最近收集整理的关于QT 使用phonon开发视频播放器遇到的问题(希望能帮到你)的全部内容,更多相关QT内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复