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

📄 3dsound.h

📁 自己用MFC做的一个小的游戏程序MFC当文档框架
💻 H
字号:
// 3dSound.h: interface for the C3dSound class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_3DSOUND_H__0C44A587_6A80_4A7E_B990_8B531C38623F__INCLUDED_)
#define AFX_3DSOUND_H__0C44A587_6A80_4A7E_B990_8B531C38623F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "mmsystem.h"
#include "dsound.h"
#include "wavread.h"

class C3dSound  
{
public:
	C3dSound();
	virtual ~C3dSound();

	void Copy(const C3dSound& srcSound);
	BOOL Initialize(char *strFileName);//由声音文件创建声音buffer,若更换声音文件须停止播放
	void PlaySound(BOOL bLoop=TRUE);   //播放声音,bLoop:是否循环播放。注意,当已经载播放时,再调用将无效       
	void StopSound();                  //停止播放声音,但不释放buffer。注意,当已经停止时,再调用将无效   
//设置参数应先停止播放然后设置
	void SetSoundPos(float fSrcPos[3]);//fSrcPos为声源位置
	void SetListenerPos(float fListenerPos[3]);//fListenerPos为听者位置
	void SetSoundTune(float fTune=1.0);           // fTune声音大小

	void Release();                      //释放声音buffer

private:
	BOOL m_bIsOk;//是否初始化好了
	BOOL m_bIsPlay;//是否正在播放声音

	LPDIRECTSOUND				m_pDS;//Directsound 对象指针
	
	LPDIRECTSOUND3DLISTENER		m_pDSListener;// 3D 听者指针
	DS3DLISTENER				m_dsListenerParams;// Listener properties
		
	LPDIRECTSOUNDBUFFER			m_pDSSoundBuffer;//辅助缓冲区指针
	LPDIRECTSOUND3DBUFFER		m_pDS3DSoundBuffer;// 辅助3D 声源对象指针
	DS3DBUFFER					m_dsSoundBufferParams;// 3D buffer properties
	DWORD						m_dwSoundBufferBytes;
	
	CWaveSoundRead				*m_pWaveSoundRead;//Wave 文件指针
	
};

#endif // !defined(AFX_3DSOUND_H__0C44A587_6A80_4A7E_B990_8B531C38623F__INCLUDED_)

⌨️ 快捷键说明

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