📄 3dsound.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 + -