• 5187阅读
  • 0回复

qprocess+mplayer问题 [复制链接]

上一主题 下一主题
离线lxb344155279
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-07
这段代码的主要功能是在窗口中出现一个按钮,这个按钮的功能是暂停继续当前播放的视频(音频),在pc下没有问题
问题是:经过交叉编译后一直到arm板子上,点击按钮就没有反映了。mplayer在板子上单独可以运行,
Qt/E是不是有特殊之处?????????????,如果有的话,告诉一下
Qt/E的编译参数是./configure -embedded arm
在板子上运行参数是./app_name -qws

这是主文件
  1. #include <QApplication>
  2. #include "process.h"
  3. int main(int argc,char **argv)
  4. {
  5.     QApplication app(argc,argv);
  6.     Process p;
  7.     p.show();
  8.     return app.exec();
  9. }

这是process.h文件
  1. #include "process.h"
  2. #include <QWidget>
  3. #include <QProcess>
  4. #include <QPushButton>
  5. #include <QStringList>
  6. Process::Process(QWidget *parent):
  7.     QWidget(parent),isPlay(false)
  8. {
  9.     p = new QProcess(this);
  10.     p->setProcessChannelMode(QProcess::ForwardedChannels);
  11.     args<<"-slave"<<"/home/lvxibao/Music/sss.mov";
  12.     button = new QPushButton("Click",this);
  13.     connect(button,SIGNAL(clicked()),this,SLOT(change()));
  14.     p->start("/usr/bin/mplayer",args);
  15. }
  16. Process::~Process(){}
  17. void Process::change()
  18. {
  19.         p->write("pause\n");
  20.         isPlay = false;
  21. }

这是process.cpp文件
  1. #ifndef    PROCESS_H
  2. #define PROCESS_H
  3. #include <QProcess>
  4. #include <QPushButton>
  5. #include <QWidget>
  6. #include <QStringList>
  7. class Process:
  8.     public QWidget
  9. {
  10.     Q_OBJECT
  11. public:
  12.     Process(QWidget *parent=0);
  13.     ~Process();
  14. public slots:
  15.     void change();
  16. private:
  17.     QProcess *p;
  18.     QPushButton *button;
  19.     bool isPlay;
  20.     QStringList args;
  21. };
  22. #endif
快速回复
限100 字节
 
上一个 下一个