利用Qt4实现的前台界面,madplay实现的后台播放器,下面的笔记简要说明了实现方式。
1. main.cpp 文件
#include<QApplication>
#include"audio_player.h"
#include <QTranslator>
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
audio_player myAudio;
myAudio.setFont(QFont("wenquanyi",12,QFont::Normal)); //设置字体
myAudio.show();
return app.exec();
}
2.Audio_player.h 文件
#ifndef _AUDIO_PLAYER_H_
#define _AUDIO_PLAYER_H_
#include<QtGui>
#include<QDir>
#include<QDialog>
#include<QString>
#include<QStringList>
#include<QFileDialog>
#include<QPalette>
#include<QToolButton>
#include<QHBoxLayout>
#include<QGridLayout>
#include<QSlider>
#include<QLabel>
#include<QTimer>
#include<QTime>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <linux/soundcard.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <fcntl.h>
struct Tag_Header{
char Header[3];
char ver;
char Revision;
char Flag;
char Size[4];
};
struct Tag_Trailer{
char Header[3];
char Title[30];
char Artist[30];
char Album[30];
char Year[4];
char Comment[28];
char Cenre[1];
};
class audio_player : public QDialog
{
Q_OBJECT
public:
audio_player(QWidget *parent = 0, Qt::WindowFlags f = 0);
void readInfo(QString file);
void Tag_GetTrailer(void);
void Tag_GetHeader(void);
private slots:
void slotStart();
void slotUp();
void slotDown();
void slotOpen();
void slotGetVol();
void slotShowTime();
private: