{"id":1735,"date":"2025-05-04T12:00:12","date_gmt":"2025-05-04T04:00:12","guid":{"rendered":"https:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/"},"modified":"2025-05-04T12:00:12","modified_gmt":"2025-05-04T04:00:12","slug":"%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8","status":"publish","type":"post","link":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/","title":{"rendered":"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668"},"content":{"rendered":"<div class=\"article_content clearfix\" id=\"article_content\">\n <link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/editerView\/kdoc_html_views-1a98987dfd.css\" rel=\"stylesheet\"\/>\n <link href=\"https:\/\/csdnimg.cn\/release\/blogv2\/dist\/mdeditor\/css\/editerView\/ck_htmledit_views-704d5b9767.css\" rel=\"stylesheet\"\/>\n<div class=\"htmledit_views atom-one-dark\" id=\"content_views\">\n<div class=\"postTitle\">\n<h2>\n    <a class=\"postTitle2\" href=\"http:\/\/www.cnblogs.com\/ziqiuqiandao\/archive\/2012\/11\/24\/2785473.html\" id=\"cb_post_title_url\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><br \/>\n     \u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668<br \/>\n    <\/a><br \/>\n   <\/h2>\n<\/p><\/div>\n<div id=\"cnblogs_post_body\">\n<p>\n    \u8f6c\u81ea\uff1ahttp:\/\/www.cnblogs.com\/ziqiuqiandao\/archive\/2012\/11\/24\/2785473.html\n   <\/p>\n<p>\n    \n   <\/p>\n<p>\n    \u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8eqt\u548cmplayer\u4f7f\u7528\u7684\u5f71\u97f3\u64ad\u653e\u5668\uff0c\u4ee3\u7801\u4e0d\u591a\uff0c\u5c313\uff0c4\u767e\u884c\u3002\n   <\/p>\n<p>\n    \u4f7f\u7528\u5230\u7684\u63a7\u4ef6\u6709QWidget\u3001QLabel\u3001QFrame\u3001QPushButton\u3001QSlider\u3001QListWidget\u3001QProcess\u548cQString\u3002\n   <\/p>\n<p>\n    \u901a\u8fc7\u8fd9\u51e0\u79cd\u63a7\u4ef6\u7684\u4f7f\u7528\uff0c\u53ef\u4ee5\u57fa\u672c\u4e86\u89e3\u5230qt\u7684\u7f16\u7a0b\u98ce\u683c\u548c\u4f7f\u7528\u65b9\u5f0f\u3002\n   <\/p>\n<p>\n    \u8fd9\u4e2a\u7a0b\u5e8f\u53c2\u8003\u4e86\u7f51\u4e0a\u6d41\u884c\u7684qt\u63a7\u5236mplayer\u64ad\u653e\u7684\u591a\u7bc7\u6587\u7ae0\uff0c\u5728\u6b64\u611f\u8c22\u4e00\u4e0b\u3002\n   <\/p>\n<p>\n    \u8fd0\u884c\u6548\u679c\u56fe\u5982\u4e0b\uff1a\n   <\/p>\n<\/p>\n<p>\n    qmplayer.pro\uff1a<br \/>\n    \n   <\/p>\n<\/p>\n<pre>######################################################################\n# Automatically generated by qmake (<span style=\"color:rgb(128,0,128)\">2<\/span>.01a) ?? ?? <span style=\"color:rgb(128,0,128)\">18<\/span> <span style=\"color:rgb(128,0,128)\">03<\/span>:<span style=\"color:rgb(128,0,128)\">06<\/span>:<span style=\"color:rgb(128,0,128)\">00<\/span> <span style=\"color:rgb(128,0,128)\">2010<\/span>\n######################################################################\n\nTEMPLATE = app\nTARGET = \nDEPENDPATH += .\nINCLUDEPATH += .\n\n# Input\nHEADERS += qmplayer.h\nSOURCES += main.cpp qmplayer.cpp<\/pre>\n<p><\/p>\n<div id=\"cnblogs_post_body\">\n    main.cpp\uff1a<br \/>\n    \n   <\/div>\n<div id=\"cnblogs_post_body\">\n<pre>#include <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">qmplayer.h<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>\n\n<span style=\"color:rgb(0,0,255)\">int<\/span> main(<span style=\"color:rgb(0,0,255)\">int<\/span> argc, <span style=\"color:rgb(0,0,255)\">char<\/span> *argv[])\n{\n    QApplication app(argc, argv);\n    QMPlayer *qmplayer = <span style=\"color:rgb(0,0,255)\">new<\/span> QMPlayer;\n    qmplayer-&gt;showFullScreen();\n    <span style=\"color:rgb(0,0,255)\">return<\/span> app.exec();\n}<\/pre>\n<p>    qmplayer.h\uff1a\n   <\/p><\/div>\n<div id=\"cnblogs_post_body\">\n<pre>#ifndef _H_QMPLAYER_\n<span style=\"color:rgb(0,0,255)\">#define<\/span> _H_QMPLAYER_\n\n#include &lt;QtGui&gt;\n\n<span style=\"color:rgb(0,0,255)\">class<\/span> QMPlayer:<span style=\"color:rgb(0,0,255)\">public<\/span> QWidget\n{\n    Q_OBJECT\n<span style=\"color:rgb(0,0,255)\">public<\/span>:\n    <span style=\"color:rgb(0,0,255)\">void<\/span> play(QString fileName);\n      QMPlayer(QWidget *parent = <span style=\"color:rgb(128,0,128)\">0<\/span>); \n\n<span style=\"color:rgb(0,0,255)\">private<\/span> slots:\n    <span style=\"color:rgb(0,0,255)\">void<\/span> next();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> prev();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> pause();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> stop();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> setSpeed();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> dataRecieve();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> addItem();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> delItem();\n    <span style=\"color:rgb(0,0,255)\">void<\/span> current(<span style=\"color:rgb(0,0,255)\">int<\/span>);   \n    <span style=\"color:rgb(0,0,255)\">void<\/span> changeVolume(<span style=\"color:rgb(0,0,255)\">int<\/span>);\n    <span style=\"color:rgb(0,0,255)\">void<\/span> playListItem(QListWidgetItem *);\n    \n<span style=\"color:rgb(0,0,255)\">private<\/span>:\n       QLabel *playLabel;\n    QLabel *timeLabel;\n    QLabel *percentLabel;\n    QLabel *voiceLabel;\n    QLabel *volumeLabel;\n    \n    QFrame *ctlFrame;\n    QPushButton *playBtn;\n    QPushButton *stopBtn;\n    QPushButton *prevBtn;\n    QPushButton *nextBtn;\n    QPushButton *speedBtn;\n    \n    QSlider *currentlBar;\n    QSlider *volumeSlider;\n\n    QListWidget *playList;\n    QPushButton *addBtn;\n    QPushButton *delBtn;\n    \n    QProcess *p;\n    QString currentStr;\n    QString currentPercent;\n    QString totalTime;\n    QString fileName;\n};\n\n<span style=\"color:rgb(0,0,255)\">#endif<\/span> \/* _H_QMPLAYER_ *\/<\/pre>\n<p>    qmplayer.cpp\uff1a<br \/>\n    \n   <\/div>\n<div id=\"cnblogs_post_body\">\n<pre>#include <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">qmplayer.h<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>\n\nQMPlayer::QMPlayer(QWidget *parent) :QWidget(parent)\n{\n    resize(<span style=\"color:rgb(128,0,128)\">320<\/span>, <span style=\"color:rgb(128,0,128)\">240<\/span>);\n    setWindowTitle(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">mplayer<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n\n    playLabel = <span style=\"color:rgb(0,0,255)\">new<\/span> QLabel(<span style=\"color:rgb(0,0,255)\">this<\/span>);\n    playLabel-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">0<\/span>, <span style=\"color:rgb(128,0,128)\">0<\/span>, <span style=\"color:rgb(128,0,128)\">240<\/span>, <span style=\"color:rgb(128,0,128)\">180<\/span>));\n    playLabel-&gt;setPixmap(QPixmap(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">images\/mplayer.png<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>));\n\n    ctlFrame = <span style=\"color:rgb(0,0,255)\">new<\/span> QFrame(<span style=\"color:rgb(0,0,255)\">this<\/span>);\n    ctlFrame-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">15<\/span>, <span style=\"color:rgb(128,0,128)\">183<\/span>, <span style=\"color:rgb(128,0,128)\">300<\/span>, <span style=\"color:rgb(128,0,128)\">55<\/span>));\n    ctlFrame-&gt;setFrameShape(QFrame::StyledPanel);\n    ctlFrame-&gt;setFrameShadow(QFrame::Raised);\n\n    currentlBar = <span style=\"color:rgb(0,0,255)\">new<\/span> QSlider(ctlFrame);\n    currentlBar-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">10<\/span>, <span style=\"color:rgb(128,0,128)\">0<\/span>, <span style=\"color:rgb(128,0,128)\">180<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    currentlBar-&gt;setOrientation(Qt::Horizontal);\n    connect(currentlBar, SIGNAL(sliderMoved(<span style=\"color:rgb(0,0,255)\">int<\/span>)), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(current(<span style=\"color:rgb(0,0,255)\">int<\/span>)));\n\n    percentLabel = <span style=\"color:rgb(0,0,255)\">new<\/span> QLabel(ctlFrame);\n    percentLabel-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">195<\/span>, <span style=\"color:rgb(128,0,128)\">2<\/span>, <span style=\"color:rgb(128,0,128)\">40<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n\n    timeLabel = <span style=\"color:rgb(0,0,255)\">new<\/span> QLabel(ctlFrame);\n    timeLabel-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">235<\/span>, <span style=\"color:rgb(128,0,128)\">2<\/span>, <span style=\"color:rgb(128,0,128)\">60<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n\n    stopBtn = <span style=\"color:rgb(0,0,255)\">new<\/span> QPushButton(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">stop<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>,ctlFrame);\n    stopBtn-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">10<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>, <span style=\"color:rgb(128,0,128)\">40<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    stopBtn-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">false<\/span>);\n    connect(stopBtn, SIGNAL(clicked()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(stop()));\n\n    prevBtn = <span style=\"color:rgb(0,0,255)\">new<\/span> QPushButton(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">prev<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>,ctlFrame);\n    prevBtn-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">60<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>, <span style=\"color:rgb(128,0,128)\">40<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    connect(prevBtn, SIGNAL(clicked()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(prev()));\n    \n    playBtn = <span style=\"color:rgb(0,0,255)\">new<\/span> QPushButton(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">play<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>,ctlFrame);\n    playBtn-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">110<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>, <span style=\"color:rgb(128,0,128)\">55<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    playBtn-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">false<\/span>);\n    connect(playBtn, SIGNAL(clicked()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(pause()));\n\n    nextBtn = <span style=\"color:rgb(0,0,255)\">new<\/span> QPushButton(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">next<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, ctlFrame);\n    nextBtn-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">175<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>, <span style=\"color:rgb(128,0,128)\">40<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    connect(nextBtn, SIGNAL(clicked()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(next()));\n\n    speedBtn = <span style=\"color:rgb(0,0,255)\">new<\/span> QPushButton(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">speed<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, ctlFrame);\n    speedBtn-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">225<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>, <span style=\"color:rgb(128,0,128)\">55<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    connect(speedBtn, SIGNAL(clicked()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(setSpeed()));\n\n    voiceLabel = <span style=\"color:rgb(0,0,255)\">new<\/span> QLabel(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">voice:<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, ctlFrame);\n    voiceLabel-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">10<\/span>, <span style=\"color:rgb(128,0,128)\">36<\/span>, <span style=\"color:rgb(128,0,128)\">50<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n\n    volumeSlider = <span style=\"color:rgb(0,0,255)\">new<\/span> QSlider(ctlFrame);\n    volumeSlider-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">70<\/span>, <span style=\"color:rgb(128,0,128)\">36<\/span>, <span style=\"color:rgb(128,0,128)\">100<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    volumeSlider-&gt;setOrientation(Qt::Horizontal);\n    volumeSlider-&gt;setRange(<span style=\"color:rgb(128,0,128)\">0<\/span>, <span style=\"color:rgb(128,0,128)\">100<\/span>);\n    volumeSlider-&gt;setValue(<span style=\"color:rgb(128,0,128)\">100<\/span>);\n    volumeSlider-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">false<\/span>);\n    connect(volumeSlider, SIGNAL(sliderMoved(<span style=\"color:rgb(0,0,255)\">int<\/span>)), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(changeVolume(<span style=\"color:rgb(0,0,255)\">int<\/span>)));\n\n    volumeLabel = <span style=\"color:rgb(0,0,255)\">new<\/span> QLabel(ctlFrame);\n    volumeLabel-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">175<\/span>, <span style=\"color:rgb(128,0,128)\">36<\/span>, <span style=\"color:rgb(128,0,128)\">60<\/span>, <span style=\"color:rgb(128,0,128)\">18<\/span>));\n    volumeLabel-&gt;setText(QString::number(<span style=\"color:rgb(128,0,128)\">100<\/span>));\n\n    playList = <span style=\"color:rgb(0,0,255)\">new<\/span> QListWidget(<span style=\"color:rgb(0,0,255)\">this<\/span>);\n    playList-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">243<\/span>, <span style=\"color:rgb(128,0,128)\">8<\/span>, <span style=\"color:rgb(128,0,128)\">73<\/span>, <span style=\"color:rgb(128,0,128)\">150<\/span>));\n    connect(playList, SIGNAL(itemDoubleClicked(QListWidgetItem *)), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(playListItem(QListWidgetItem *))); \n\n    addBtn = <span style=\"color:rgb(0,0,255)\">new<\/span> QPushButton(QIcon(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">images\/add.png<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>), <span style=\"color:rgb(128,0,0)\">\"\"<\/span>, <span style=\"color:rgb(0,0,255)\">this<\/span>);\n    addBtn-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">248<\/span>, <span style=\"color:rgb(128,0,128)\">160<\/span>, <span style=\"color:rgb(128,0,128)\">30<\/span>, <span style=\"color:rgb(128,0,128)\">20<\/span>));\n    addBtn-&gt;setStyleSheet(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">border-style:none<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    connect(addBtn, SIGNAL(clicked()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(addItem())); \n\n    delBtn = <span style=\"color:rgb(0,0,255)\">new<\/span> QPushButton(QIcon(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">images\/remove.png<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>), <span style=\"color:rgb(128,0,0)\">\"\"<\/span>, <span style=\"color:rgb(0,0,255)\">this<\/span>);\n    delBtn-&gt;setGeometry(QRect(<span style=\"color:rgb(128,0,128)\">283<\/span>, <span style=\"color:rgb(128,0,128)\">160<\/span>, <span style=\"color:rgb(128,0,128)\">30<\/span>, <span style=\"color:rgb(128,0,128)\">20<\/span>));\n    delBtn-&gt;setStyleSheet(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">border-style:none<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    connect(delBtn, SIGNAL(clicked()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(delItem())); \n\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:next\n\nDescription:play the next movie\/song\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::next()\n{\n    <span style=\"color:rgb(0,0,255)\">if<\/span> (playList-&gt;count() != <span style=\"color:rgb(128,0,128)\">0<\/span>) {\n        <span style=\"color:rgb(0,0,255)\">if<\/span>(playList-&gt;currentRow() == playList-&gt;count() - <span style=\"color:rgb(128,0,128)\">1<\/span>)\n            playList-&gt;setCurrentRow(<span style=\"color:rgb(128,0,128)\">0<\/span>);\n        <span style=\"color:rgb(0,0,255)\">else<\/span>\n            playList-&gt;setCurrentRow(playList-&gt;currentRow() + <span style=\"color:rgb(128,0,128)\">1<\/span>);\n        \n        play(playList-&gt;currentItem()-&gt;text());\n        playBtn-&gt;setText(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">pause<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    }\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:prev\n\nDescription:play the previous movie\/song\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::prev()\n{\n    <span style=\"color:rgb(0,0,255)\">if<\/span> (playList-&gt;count() != <span style=\"color:rgb(128,0,128)\">0<\/span>) {\n        <span style=\"color:rgb(0,0,255)\">if<\/span>(playList-&gt;currentRow() == <span style=\"color:rgb(128,0,128)\">0<\/span>)\n            playList-&gt;setCurrentRow(playList-&gt;count() - <span style=\"color:rgb(128,0,128)\">1<\/span>);\n        <span style=\"color:rgb(0,0,255)\">else<\/span>\n            playList-&gt;setCurrentRow(playList-&gt;currentRow() - <span style=\"color:rgb(128,0,128)\">1<\/span>);\n        \n        play(playList-&gt;currentItem()-&gt;text());\n        playBtn-&gt;setText(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">pause<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    }\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:addItem\n\nDescription:add a item in the playlist\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::addItem()\n{\n    QStringList fileNames = QFileDialog::getOpenFileNames(<span style=\"color:rgb(0,0,255)\">this<\/span>, <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">choose movie\/song<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">\/<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">Movie\/Song (*.mp4 *.mp3)<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    <span style=\"color:rgb(0,0,255)\">if<\/span>(fileNames.count() != <span style=\"color:rgb(128,0,128)\">0<\/span>)\n        playList-&gt;addItems(fileNames);\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:delItem\n\nDescription:delete a item in the playlist\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::delItem()\n{\n    <span style=\"color:rgb(0,0,255)\">if<\/span>(playList-&gt;currentRow() == -<span style=\"color:rgb(128,0,128)\">1<\/span>)\n        QMessageBox::warning(<span style=\"color:rgb(0,0,255)\">this<\/span>, <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">note<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">not select or playList is null<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, QMessageBox::Yes);\n    <span style=\"color:rgb(0,0,255)\">else<\/span>\n        playList-&gt;takeItem(playList-&gt;currentRow());\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:playListItem\n\nDescription:play a item in the playlist\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::playListItem(QListWidgetItem *item)\n{\n    play(item-&gt;text());\n    playBtn-&gt;setText(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">pause<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:play\n\nDescription:call mplayer to play movie\/song\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::play(QString fileName)\n{\n    <span style=\"color:rgb(0,0,255)\">if<\/span> (p != NULL)\n        p-&gt;kill();\n\n    p = <span style=\"color:rgb(0,0,255)\">new<\/span> QProcess(<span style=\"color:rgb(0,0,255)\">this<\/span>);\n    connect(p, SIGNAL(readyReadStandardOutput()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(dataRecieve())); \n\n    QStringList args;\n    args &lt;&lt; <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">-slave<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>;\n    args &lt;&lt; <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">-quiet<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>;\n    args &lt;&lt; <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">-zoom<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>;\n    args &lt;&lt; <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">-x<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>;\n    args &lt;&lt; <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">240<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>;\n    args &lt;&lt; <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">-y<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>;\n    args &lt;&lt; <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">180<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>;\n    args &lt;&lt; fileName;\n    p-&gt;start(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">mplayer<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, args);\n    \n    playBtn-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">true<\/span>);\n    stopBtn-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">true<\/span>);\n    volumeSlider-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">true<\/span>);\n\n    timeLabel-&gt;show();\n    percentLabel-&gt;show();\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:pause\n\nDescription:pause a playing movie\/song\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::pause()\n{\n    p-&gt;write(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">pause\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    <span style=\"color:rgb(0,0,255)\">if<\/span> (playBtn-&gt;text() == <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">play<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>) {\n        connect(p, SIGNAL(readyReadStandardOutput()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(dataRecieve())); \n        dataRecieve();\n        playBtn-&gt;setText(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">pause<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    }\n    <span style=\"color:rgb(0,0,255)\">else<\/span> {\n        disconnect(p, SIGNAL(readyReadStandardOutput()), <span style=\"color:rgb(0,0,255)\">this<\/span>, SLOT(dataRecieve())); \n        playBtn-&gt;setText(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">play<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    }\n\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:stop\n\nDescription:stop a playing movie\/song\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::stop()\n{\n    p-&gt;kill();\n    p = NULL;\n    timeLabel-&gt;hide();\n    percentLabel-&gt;hide();\n    playLabel-&gt;update();\n    \n    playBtn-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">false<\/span>);\n    stopBtn-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">false<\/span>);\n    volumeSlider-&gt;setEnabled(<span style=\"color:rgb(0,0,255)\">false<\/span>);\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:changeVolume\n\nDescription:change the volume\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::changeVolume(<span style=\"color:rgb(0,0,255)\">int<\/span> v)\n{\n    volumeLabel-&gt;setText(QString::number(v));\n    p-&gt;write(QString(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">volume <\/span><span style=\"color:rgb(128,0,0)\">\"<\/span> + QString::number(v) + <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\"> 2\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>).toUtf8());\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:setSpeed\n\nDescription:set the playing speed\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::setSpeed()\n{\n    <span style=\"color:rgb(0,0,255)\">double<\/span> speed=QInputDialog::getDouble(<span style=\"color:rgb(0,0,255)\">this<\/span>, <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">set speed<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>, <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">compare with nomal speed<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    <span style=\"color:rgb(0,0,255)\">if<\/span>(speed &gt; <span style=\"color:rgb(128,0,128)\">0<\/span>)\n        p-&gt;write(QString(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">speed_set <\/span><span style=\"color:rgb(128,0,0)\">\"<\/span> + QString::number(speed) + <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\"> 2\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>).toUtf8());\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:dataRecieve\n\nDescription:recieve the data from mplayer\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::dataRecieve()\n{\n    p-&gt;write(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">get_time_length\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    p-&gt;write(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">get_time_pos\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n    p-&gt;write(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">get_percent_pos\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n\n    <span style=\"color:rgb(0,0,255)\">while<\/span> (p-&gt;canReadLine()) {\n        QByteArray b = p-&gt;readLine();\n        b.replace(QByteArray(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>), QByteArray(<span style=\"color:rgb(128,0,0)\">\"\"<\/span>));\n        QString s(b);\n        \n        <span style=\"color:rgb(0,0,255)\">if<\/span> (b.startsWith(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">ANS_TIME_POSITION<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>)) {\n            currentStr = s.mid(<span style=\"color:rgb(128,0,128)\">18<\/span>);\n            timeLabel-&gt;setText(currentStr + <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">s<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n            currentlBar-&gt;setValue(s.mid(<span style=\"color:rgb(128,0,128)\">18<\/span>).toFloat());\n        }\n        <span style=\"color:rgb(0,0,255)\">else<\/span> <span style=\"color:rgb(0,0,255)\">if<\/span> (b.startsWith(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">ANS_LENGTH<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>)) {\n            totalTime = s.mid(<span style=\"color:rgb(128,0,128)\">11<\/span>);\n            currentlBar-&gt;setRange(<span style=\"color:rgb(128,0,128)\">0<\/span>, s.mid(<span style=\"color:rgb(128,0,128)\">11<\/span>).toFloat());\n        }\n        <span style=\"color:rgb(0,0,255)\">else<\/span> <span style=\"color:rgb(0,0,255)\">if<\/span>(b.startsWith(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">ANS_PERCENT_POSITION<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>)) {\n            currentPercent = s.mid(<span style=\"color:rgb(128,0,128)\">21<\/span>);\n            percentLabel-&gt;setText(currentPercent + <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">%<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>);\n        }\n    }\n\n}\n\n<span style=\"color:rgb(0,128,0)\">\/*<\/span><span style=\"color:rgb(0,128,0)\">************************************************\n\nFunction:current\n\nDescription:get the current process from mplayer\n\n************************************************<\/span><span style=\"color:rgb(0,128,0)\">*\/<\/span>\n\n<span style=\"color:rgb(0,0,255)\">void<\/span> QMPlayer::current(<span style=\"color:rgb(0,0,255)\">int<\/span> value)\n{\n    p-&gt;write(QString(<span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\">seek <\/span><span style=\"color:rgb(128,0,0)\">\"<\/span> + QString::number(value) + <span style=\"color:rgb(128,0,0)\">\"<\/span><span style=\"color:rgb(128,0,0)\"> 2\\n<\/span><span style=\"color:rgb(128,0,0)\">\"<\/span>).toUtf8());\n}<\/pre>\n<p>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 \u8f6c\u81ea\uff1ahttp:\/\/www.cnblogs.com\/ziqiuqiand [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":215,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-1735","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-11"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"og:description\" content=\"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 \u8f6c\u81ea\uff1ahttp:\/\/www.cnblogs.com\/ziqiuqiand [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668\/\" \/>\n<meta property=\"og:site_name\" content=\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-04T04:00:12+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"260\" \/>\n\t<meta property=\"og:image:height\" content=\"180\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin@wunen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin@wunen\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/\"},\"author\":{\"name\":\"admin@wunen\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\"},\"headline\":\"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668\",\"datePublished\":\"2025-05-04T04:00:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/\"},\"wordCount\":32,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.wunen.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"articleSection\":[\"\u5f71\u97f3\u64ad\u653e\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/\",\"url\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/\",\"name\":\"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"isPartOf\":{\"@id\":\"https:\/\/www.wunen.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"datePublished\":\"2025-05-04T04:00:12+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage\",\"url\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"contentUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg\",\"width\":260,\"height\":180},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wunen.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wunen.com\/#website\",\"url\":\"https:\/\/www.wunen.com\/\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"description\":\"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9\",\"publisher\":{\"@id\":\"https:\/\/www.wunen.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wunen.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.wunen.com\/#organization\",\"name\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\",\"url\":\"https:\/\/www.wunen.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/\",\"url\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png\",\"contentUrl\":\"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png\",\"width\":1024,\"height\":1024,\"caption\":\"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51\"},\"image\":{\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8\",\"name\":\"admin@wunen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wunen.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g\",\"caption\":\"admin@wunen\"},\"sameAs\":[\"http:\/\/www.wunen.com\"],\"url\":\"http:\/\/www.wunen.com\/index.php\/author\/adminwunen\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668\/","og_locale":"zh_CN","og_type":"article","og_title":"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","og_description":"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 \u8f6c\u81ea\uff1ahttp:\/\/www.cnblogs.com\/ziqiuqiand [&hellip;]","og_url":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668\/","og_site_name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","article_published_time":"2025-05-04T04:00:12+00:00","og_image":[{"width":260,"height":180,"url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","type":"image\/jpeg"}],"author":"admin@wunen","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin@wunen","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"5 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#article","isPartOf":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/"},"author":{"name":"admin@wunen","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8"},"headline":"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668","datePublished":"2025-05-04T04:00:12+00:00","mainEntityOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/"},"wordCount":32,"commentCount":0,"publisher":{"@id":"https:\/\/www.wunen.com\/#organization"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage"},"thumbnailUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","articleSection":["\u5f71\u97f3\u64ad\u653e"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/","url":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/","name":"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668 - \u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","isPartOf":{"@id":"https:\/\/www.wunen.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage"},"image":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage"},"thumbnailUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","datePublished":"2025-05-04T04:00:12+00:00","breadcrumb":{"@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#primaryimage","url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","contentUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/\u8d44\u8baf.jpg","width":260,"height":180},{"@type":"BreadcrumbList","@id":"http:\/\/www.wunen.com\/index.php\/2025\/05\/04\/%e5%9f%ba%e4%ba%8eqt%e5%92%8cmplayer%e7%9a%84%e5%bd%b1%e9%9f%b3%e6%92%ad%e6%94%be%e5%99%a8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wunen.com\/"},{"@type":"ListItem","position":2,"name":"\u57fa\u4e8eqt\u548cmplayer\u7684\u5f71\u97f3\u64ad\u653e\u5668"}]},{"@type":"WebSite","@id":"https:\/\/www.wunen.com\/#website","url":"https:\/\/www.wunen.com\/","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","description":"\u8f6f\u4ef6\u8d44\u8baf\u6765\u7269\u5ae9","publisher":{"@id":"https:\/\/www.wunen.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wunen.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/www.wunen.com\/#organization","name":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51","url":"https:\/\/www.wunen.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/","url":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png","contentUrl":"http:\/\/www.wunen.com\/wp-content\/uploads\/2025\/03\/cropped-\u7269\u5ae9-1.png","width":1024,"height":1024,"caption":"\u7269\u5ae9\u8f6f\u4ef6\u8d44\u8baf\u7f51"},"image":{"@id":"https:\/\/www.wunen.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/d5f7a6cf545656a9c90d507e64452db8","name":"admin@wunen","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wunen.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d90ec1e3faf77c4d4e66e40c29b85ff6401161e0502f401dae2f0e25b38ce25e?s=96&d=mm&r=g","caption":"admin@wunen"},"sameAs":["http:\/\/www.wunen.com"],"url":"http:\/\/www.wunen.com\/index.php\/author\/adminwunen\/"}]}},"_links":{"self":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts\/1735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/comments?post=1735"}],"version-history":[{"count":0,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/posts\/1735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/media\/215"}],"wp:attachment":[{"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/media?parent=1735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/categories?post=1735"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wunen.com\/index.php\/wp-json\/wp\/v2\/tags?post=1735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}