⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wavplay.h

📁 用QT,designer编写的游戏
💻 H
字号:
#ifndef WAVPLAYER_H
#define WAVPLAYER_H
//****程希望****编的

#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <linux/soundcard.h>
#include <sys/mman.h>

#include <qobject.h>
#include <qstring.h>
#include <qfile.h>
#include <qtimer.h>

#define SND_DEV "/dev/audio"
#define MIX_DEV "/dev/mixer"

typedef struct waveHeadStruct//****程希望****编的
{
	char riff_flag[4];
	long file_leng;
	char wave_flag[4];
	char fmt_flag[4];
	char no_use[4];
	short format_type;
	short channel;
	unsigned short rate;
	long tran_rate;
	short block;
	short bits;
	char data_flag[4];
	long data_leng;
} WH;

class WavePlay : public QObject//****程希望****编的
{
Q_OBJECT
public:
	WavePlay(int bufSize = 1024, QString = QString(SND_DEV));
	~WavePlay();
signals:
	void placeChanged(int);
public slots://****程希望****编的
	void openSound(QString);
	void play();
	void pause();
	void stop();
	void forward();
	void backward();
	void setPlace();
private://****程希望****编的
	void readWaveHead();
	void soundCardCtl();
	void closeSound();

	QString fileName;
	int sndFd, wavFd;

	unsigned long place;
	WH *pHead;
	unsigned char *buffer;
	unsigned long bufferSize;
	unsigned long fileSize;
	int playState;
};

#endif//****程希望****编的

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -