我很难使用-vo
将QProcess
参数传递给mplayer,
这是一个最小的例子:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString program;
program = "C:\\mplayer-svn-38008\\mplayer.exe";
QStringList arguments;
arguments << "-vo gl" << "C:\\test.mp4";
QProcess *m_process = new QProcess(this);
m_process->start(program, arguments);
}
流程输出:
命令行上的未知选项:-vo gl
在Windows shell上使用相同的参数会导致正确的行为:
>mplayer -vo gl C:/test.mp4
此外,从QStringList
删除该参数也可以。
为什么从命令行识别-vo
选项但不从QProcess
识别?
答案 0 :(得分:2)
您必须分隔由空格分隔的每个参数:
arguments << "-vo"<< "gl" << "C:\\test.mp4";