soundbase.h

来自「pocket pc小游戏源码」· C头文件 代码 · 共 63 行

H
63
字号
#pragma once
#include "pgestd.h"
#include "ogg/ivorbiscodec.h"
#include "ogg/ivorbisfile.h"
#include <mmsystem.h>

enum PLAY_STAT
{
	playing = 1,
	closed,
	paused,
	stoped
};

enum SOUND_TYPE
{
	oggsound = 1,
	wavesound
};

class SoundBase
{
public:
	SoundBase(void);
	~SoundBase(void);

	int open(char* caFile);
	void play();
	int isPlaying();
	void reset();
	int isSeekable();
	void seekTime(DWORD time);
	void stop();
	void pause();
	void close();
	void writeBuff();
	char* getName() {return m_caName;}
	DWORD getTime();

	static void CALLBACK WaveProc(HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, 
		DWORD dwParam1, DWORD dwParam2 );

	char* m_caName;
	OggVorbis_File m_oggf;
	FILE* m_soundf;
	HWAVEOUT m_hWaveOut;
	WAVEFORMATEX m_wformat;
	WAVEHDR* m_block;
	int m_freeblocks;
	int m_blockCount;
	int m_blockSize;
	CRITICAL_SECTION m_waveCriticalSection;
	CRITICAL_SECTION m_seekCriticalSection;
	int m_iloopTimes;
	int m_iplayTimes;
	int m_iStat;
	int m_iSoundType;
	int m_curblock;
	int m_iDataSize;
	int m_iDataStart;
	int m_iCurData;
};

⌨️ 快捷键说明

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