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

📄 md_sound.h

📁 我用MDEngine写的游戏
💻 H
字号:
//********************************************************************
//						MD 引擎 声音 内核部件的定义
//		Powered by @J--S Studio			Johnhans		2002.7.15
//********************************************************************

#ifndef	MD_SOUND_H
#define	MD_SOUND_H

#ifdef MDENGINE_EXPORTS
#define MDENGINE_API __declspec(dllexport)
#else
#define MDENGINE_API __declspec(dllimport)
#endif

#include "MD_Audio.h"

#define	VOL_MAX		DSBVOLUME_MAX		// 最大音量	(默认)
#define	VOL_MIN		DSBVOLUME_MIN		// 最小音量
#define	PAN_LEFT	DSBPAN_LEFT			// 左声道音量最大,右声道静音
#define	PAN_RIGHT	DSBPAN_RIGHT		// 右声道音量最大,左声道静音
#define PAN_CENTER	DSBPAN_CENTER		// 左右声道平均 (默认)


class MDENGINE_API CMD_Sound
{
public:
	CMD_Sound();
	virtual ~CMD_Sound();
	static void SetActiveAudio(CMD_Audio* Audio) { m_lpAudio=Audio;}

public:
	bool Create(TCHAR *FileName);
	bool Create(LPBYTE buffer,DWORD bufsize);
	bool Create(WAVEFORMATEX *wfex,LPBYTE pdata,DWORD bufsize);
	bool SetVolume(long Volume);
	long GetVolume(void);
	bool SetPan(long Pan);
	long GetPan(void);
	bool SetFrequency(DWORD freq);
	DWORD GetFrequency(void);
	DWORD GetSamplesPerSec(void) { return m_SamplesPerSec;}
	bool Play(bool bLoop=false,bool bRestart=true);
	bool IsPlaying(void);
	void Free(void);
	void Stop(void);

private:
	static CMD_Audio*		m_lpAudio;
	LPDIRECTSOUNDBUFFER		m_lpDSBuffer;
	bool					m_bUse3DSound;
	DWORD					m_SamplesPerSec;
private:
//	bool LoadWaveFile();
//	bool GetSoundDataFromFile(LPSTR FileName);
//	bool CreateBuffer();
//	bool LoadDataToBuffer();
};

#endif

⌨️ 快捷键说明

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