Qt編寫Mplayer前端程序
時間:2016-12-29作者:華清遠見
編寫一個自己的mplayer前端程序,根據自己的喜好設計界面。是一件很不錯的事情。 首先設計一個漂亮的界面,可以通過designer設計。
通過定義一個QProcess對象調用已編譯好的Mplayer。
QProcess *process = new QProcess(); 在命令中添加 -slave 和 -quiet就可以通過命令設置Mplayer實現相應的功能。在mplayer源碼中的,slave.txt中對這些命令有詳細的 Process->start(“mplayer –slave –quiet –ac –mad xxxxx”); 1.暫停功能 通過如下代碼可以設置Mplayer暫停。 process->write(“pause\n”); 執行這段代碼的時候如果是播放狀態就會暫停,暫停狀態時就會繼續播放。 2.獲取播放文件的總時間和當前播放進度。 執行下面代碼時,Mplayer將時間在標準輸出顯示。
process->write("get_time_pos\n"); 通過如下代碼即可讀出我們需要的信息: connect(process,SIGNAL(readyReadStandardOutput()),this,SLOT(back_message_slots())); process有可讀取的信息時,發出信號,在槽函數back_message_slots()中讀取信息。
void MPlayer::back_message_slots() 3.快進功能
seek <value> [type] 下面代碼即可實現快進功能: process->write(“seek ** 1\n”); 4.音量調節
volume <value> [abs] 下面代碼即可實現快進功能:
Process->write(“volume -1\n”); //音量減小 5.靜音功能
mute [value] 下面代碼即可實現快進功能:
process->write("mute 0\n"); //開啟靜音 6.定位視頻窗口 通過上面的代碼基本功能實現了,可是播放視頻的時候發現又彈出一個窗口。并沒有出現在我們的窗口里。 如下代碼即可時間窗口的定位。
QString common = "mplayer -slave -quiet -ac mad -zoom movie/" + file_name + " -wid " + QString::number(widget->winId()); 紅色部分實現串口的定位。Widget是一個QWidget對象。通過winId可以獲得一個數字,-wid既將視頻輸出定位到widget窗體部件中。 注意:-wid參數只在X11、directX和OpenGL中適用。 下面便是效果圖:
這里只是實現了一些基本的功能,如果需要的話可以參考Mplayer中文檔添加需要的功能。
發表評論
|