前因:
QML (或者QGraphicsScene) 里使用mplayer,
窗口始终是黑色的.
尝试
Phonon模块, 把
http://www.free-codecs.com/K_Lite_Codec_Pack_download.htm安装上.
- VideoPlayer *player = new VideoPlayer(Phonon::VideoCategory, parentWidget);
- connect(player, SIGNAL(finished()), player, SLOT(deleteLater()));
- player->play(url);
顺利播放。
接着折腾phonon-mplayer..
平台: XP+Qt4.8
获取源码:
git clone git://anongit.kde.org/phonon-mplayer
尝试1:
编译出
插件,放到D:\QtSDK\Desktop\Qt\4.8.0\msvc2008\plugins\phonon_backend 或 $APP/phonon_backend 下,未果(插件加载不了)。
尝试2:
把phonon-mplayer源码加到工程
Widget.cpp:
- #include "VideoWidget.h"
- #include "MediaObject.h"
- Phonon::MPlayer::MediaObject *media = new Phonon::MPlayer::MediaObject(this);
- Phonon::MPlayer::VideoWidget *vwidget = new Phonon::MPlayer::VideoWidget(this);
- Phonon::createPath(media, vwidget);
- media->play();
编译
错误:
- widget.cpp:29:38: error: cannot convert 'Phonon::MPlayer::MediaObject*' to 'Phonon::MediaNode*' for argument '1' to 'Phonon::Path Phonon::createPath(Phonon::MediaNode*, Phonon::MediaNode*)'
修改MediaObject.h
- #include <Phonon/MediaNode>
- class MediaObject : public MediaNode public MediaController, public Phonon::MediaObjectInterface {
编译错误:
- MediaObject.cpp(43) : error C2512: 'Phonon::MediaNode' : no appropriate default constructor available
现在如何修改才能是Widget.cpp 里的代码可以至少编译通过, MediaNode是干什么用的?