Mplayer QT3 编程!!! 

 终于能成功播放视频文件到主要窗口, 主要感谢下面这篇贴子的讲述 ,虽然是QT4的, 但讲解很清晰

  http://www.linuxidc.com/Linux/2010-12/30223p5.htm

 

 安装好Mplayer后, 建一个QWidget在里面直接初始化一个QProcess来播放文件,主要代码如下

  playProcess->clearArguments(); playProcess->addArgument("/usr/local/mplayer/bin/mplayer"); playProcess->addArgument( "-quiet"); playProcess->addArgument( "-slave"); playProcess->addArgument("-wid"); playProcess->addArgument(QString("%1").arg(QString::number(this->winId()))); playProcess->addArgument("/home/yang/2.avi"); playProcess->start(); 

 

 主要是 -wid 参数的问题,  记得以前弄的时候好像一定要加个QString( "0x%1").arg(QString::number(this->winId(),16) 也就是说 要把窗口ID换成16进制 而且前面还得手动加个0x才能成功。。。 结果这次竟然失败了!!!

 于是不停的尝试, 而且用贴子上的命令 自己随便弄个窗口  然后 xwininfo得到它的winId后  在终端输入./mplayer -wid <winId>  movieName 可以成功 而且这里输入的winId是个16进制  为什么在程序里用QProcess把原样的命令输入运行就不行了。 暂时俺 也不懂!!!

 只知道最后什么都不加,直接按上面代码运行 竟然成功了, 都知道QString::number()默认是转化成10进制后当string输出 ,难道process里面又要换成10进制的winID才能指定窗口成功???  费解。。。 费解啊。。。

 

你可能感兴趣的:(编程,String,qt,终端,2010)