QProcess无法启动

时间:2015-04-14 17:26:13

标签: c++ qt ffmpeg qprocess

我有以下代码:

proc = new QProcess();
proc->startDetached("C:\\ffmpeg.exe", QStringList() <<"-i"<< "C:\\pics\\frame%d.png"<< "-r"<< "30" << "-vcodec"<< "ffv1" << "C:\\test.avi" );
connect(proc,SIGNAL(finished(int)),this,SLOT(finishedFFMPEG(int)));

由于某种原因,完成()和完成()的SIGNAL永远不会被调用。正确创建了test.avi文件。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

应该是这样或使用@:

proc = new QProcess();
proc->startDetached("C:\\ffmpeg.exe", QStringList() <<"-i"<< "C:\\pics\\frame%d.png "<< "-r"<< "30" << "-vcodec"<< "ffv1" << "C:\\test.avi" );
connect(proc,SIGNAL(finished(int)),this,SLOT(finishedFFMPEG(int)));

答案 1 :(得分:0)

QProcess::startDetached是一个静态函数。它对QProcess的实例没有影响。

请改用QProcess::start

"C:\pics\frame%d.png"中的反斜杠也应该被转义,甚至更好地使用斜杠("C:/pics/frame%d.png")或C ++ 11原始文字(R"(C:\pics\frame%d.png)")。