• 9385阅读
  • 7回复

关于mplayer做后端,qt前端GUI代码,看有人问就发一个老早简单测试代码,别骂就行。 [复制链接]

上一主题 下一主题
离线jzj139
 
只看楼主 倒序阅读 楼主  发表于: 2009-02-26
— 本帖被 XChinux 执行加亮操作(2009-02-26) —
player.h

#include <qwidget.h>
#include <qstring.h>
#include <qobject.h>
#include <qpushbutton.h>
#include <qprocess.h>

class player:public QWidget
{
    Q_OBJECT
public:
    player(QWidget* parent=0,const char *name=0);
    ~player();

protected:
    
protected slots:
    //void play();

private:
    //QPushButton *playButton;
    QWidget *renderTarget;
    QProcess *mplayerProcess;
};


player.cp

#include "player.h"

#include <qobject.h>
#include <qstring.h>
#include <qstringlist.h>

const QString mplayerPath("/usr/bin/mplayer");
const QString movieFile("housheboy.wmv");

player::player(QWidget* parent,const char* name):QWidget(parent,name)
{
    this->setFixedSize(320+10,240+40);
    renderTarget=new QWidget(this);
    renderTarget->move(5,5);
    renderTarget->resize(320,240);

    mplayerProcess=new QProcess(this);
    
    QStringList args;

    args<<mplayerPath;
    args<<"-slave";
    args<<"-quiet";
    args<<"-wid"<<QString::number(renderTarget->winId());
    args<<movieFile;

    mplayerProcess->setArguments(args);

    mplayerProcess->start();

}

player::~player()
{

}


main.cpp

#include "player.h"

#include <qapplication.h>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);

    player *p = new player(0,"player");
     app.setMainWidget(p);
    p->show();

    return app.exec();
}

老早以前写的,好像是qt3的代码,刚才不经意翻出来了,就发出来,大家别骂人啊 呵呵
qt
离线caomoqr
只看该作者 1楼 发表于: 2009-02-26
饿,用PHONON可不可以做啊
我是新手,基本都不太懂,现在是要研究PHONON这个东东,有点赶鸭子上架的感觉
离线caomoqr
只看该作者 2楼 发表于: 2009-02-26
PHONON的backend在LINUX下是用Gstreamer,WIN下是用DIRECTSHOW对吗?
能不能自己指定解码器呢?
请懂的人指点一二,谢谢
离线0413301
只看该作者 3楼 发表于: 2009-05-13
支持代码
离线alikewater
只看该作者 4楼 发表于: 2009-05-14
感谢分享!
我还是菜鸟,但是有一天,我会飞起来
离线jzj139
只看该作者 5楼 发表于: 2009-05-14
呵呵  改天有时间去研究下gsrtreamer
qt
离线kunkka
只看该作者 6楼 发表于: 2011-04-02
  没得-wid参数咋办???楼主..
离线tuohai
只看该作者 7楼 发表于: 2011-05-19
谢谢,我先测试一下,支持开源学习
快速回复
限100 字节
 
上一个 下一个