• 8099阅读
  • 3回复

[提问]请问各位QT4中怎么用QProcess调用外部程序??? [复制链接]

上一主题 下一主题
离线wangrunmin
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-22
我要在QT4中调用madplay播放dan.mp3.到底应该怎么写这段代码呢?请大侠不吝赐教。有兴趣的朋友一起讨论一下。

其中madplay位于/目录下,dan.mp3位于/tmp/dan.mp3.请问各位应该怎么写才能正常播放。对了,是QT4哦。


我照着写了一段如下:

connect(pushButton, SIGNAL(clicked()), this, SLOT(slotButton()));


void Mainfrm::slotButton()
{
  QProcess proc;
  QString program;
  
  QStringList filename1;
  filename1<<"-slave";
  filename1<<"-quiet";
  program="/bin/madplay";
  filename1<<"/tmp/danger.mp3";
  proc.setProcessChannelMode(QProcess::MergedChannels);
  proc.start(program,filename1);
}


点击按钮时,运行了29秒(也就是MP3文件的长度)才继续运行其他的。但是,始终无法听到声音。但直接登录开发板shell,执行./bin/madplay danger.mp3。是有声音播放的。哪位大师能给个思路,实在不知道到底应该怎么弄。谢谢了
[ 此帖被wangrunmin在2011-04-22 17:10重新编辑 ]
离线lizhenneng

只看该作者 1楼 发表于: 2011-04-22
是不是要在proc.start(program,filename1); 后加上
bool QProcess::waitForFinished ( int msecs = 30000 ),没有等待时间,程序就会直接运行过去,还来不及播放声音程序就运行完了。
离线wangrunmin
只看该作者 2楼 发表于: 2011-04-23
回 1楼(lizhenneng) 的帖子
似乎不是这样
离线wangrunmin
只看该作者 3楼 发表于: 2011-05-24
解决了,但还是有点问题
快速回复
限100 字节
 
上一个 下一个