Widget::Widget(QWidget *parent)
: QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
mplayerProcess = new QProcess(this);
renderTarget = new QWidget(this);
renderTarget->setAttribute(Qt::WA_OpaquePaintEvent);
renderTarget->resize(480,272);
QStringList args;
args << "-slave";
args << "-quiet";
args << "-zoom ";
args << "-wid" << QString::number(renderTarget->winId());
args << " ti.mp4";
mplayerProcess->start(tr("./x86mplayer"), args);
}
我这样写的,mplayer还是会单独一个窗口播放。
------解决方案--------------------
找到了,QStringList args;
args << "-slave"<< "-quiet";
args << m_movieFile;
args<<"-wid";
args<<QString::number(m_videoWindow->winId());//指定你要在哪个窗口播放的id
m_mplayerProcess->setProcessChannelMode(QProcess::MergedChannels);
m_mplayerProcess->start(MPLAYER_PATH, args);