資源簡介
是基于嵌入式linux下QT開發的mp3播放器源碼,里面源碼中也可以通過socket網絡來控制mp3的播放、暫停等等,經測試,直接可編譯使用
代碼片段和文件信息
#include?“listmusic.h“
#include?“ui_listmusic.h“
#include?“socket.h“
listmusic::listmusic(QWidget?*parent)?:
????QDialog(parent)
????ui(new?Ui::listmusic)
{
????ui->setupUi(this);
????list?=?new?QListWidget;
????list->addItem(new?QListWidgetItem(“she.mp3“));
????list->addItem(new?QListWidgetItem(“shanghaitan.mp3“));
????list->addItem(new?QListWidgetItem(“Avril1.mp3“));
????list->addItem(new?QListWidgetItem(“big?big?world.mp3“));
????QHBoxLayout?*layout?=?new?QHBoxLayout;
????//layout->addWidget(label);
????layout->addWidget(list);
????setLayout(layout);
????//connect(listSIGNAL(currentTextChanged(QString))labelSLOT(setText(QString)));
????connect(listSIGNAL(currentTextChanged(QString))thisSLOT(playCurrent(QString)));
}
listmusic::~listmusic()
{
????delete?ui;
}
void?listmusic::playCurrent(QString?current)
{
????int?len;
????int?cmd?=?LISTSONG;
????QByteArray?str=current.toUtf8();
????char?*name=str.data();
????printf(“%s\n“name);
????len=sendto(client_sockfd?&cmd?40?(struct?sockaddr?*)&client_addr?sin_size);
????if(len?0){
????????QMessageBox::question(thistr(“結果“)QString(tr(“發送網絡數據失敗“)));
????????return?;
????}
????usleep(30);//等待接受命令
????len=sendto(client_sockfdnamestrlen(name)+10(struct?sockaddr*)&client_addrsin_size);
????if(len<0){
????????QMessageBox::question(thistr(“結果“)QString(tr(“發送網絡數據失敗“)));
????????return?;
????}
}
評論
共有 條評論