// StreamingSound3D.h: interface for the CStreamingSound3D class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_STREAMINGSOUND3D_H__2504463D_A560_4075_AD7C_14975B160E69__INCLUDED_) #define AFX_STREAMINGSOUND3D_H__2504463D_A560_4075_AD7C_14975B160E69__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include class CStreamingSound; class COggLoader; class CStreamingSound3D { protected: CStreamingSound* m_pStreamingSound; LPDIRECTSOUND3DBUFFER8 m_pDS3DBuffer; DS3DBUFFER m_Prop; public: CStreamingSound3D(); virtual ~CStreamingSound3D(); bool Create( char* strFileName ); void Destroy(); void ServiceBuffer() { m_pStreamingSound->ServiceBuffer(); }; void Play() { m_pStreamingSound->Play(); }; void Stop() { m_pStreamingSound->Stop(); }; HRESULT Reset() { return m_pStreamingSound->Reset(); }; bool IsPlaying() { return m_pStreamingSound->m_bPlaying; }; DWORD GetBufferSize() { return m_pStreamingSound->m_dwDSBufferSize; }; void SetLooping( bool bLoop ) { m_pStreamingSound->SetLooping(bLoop); }; bool IsLooping() { return m_pStreamingSound->IsLooping(); }; void SetVolume( float fVol ) { m_pStreamingSound->SetVolume(fVol); }; void GetVolume( float& fVol ) { m_pStreamingSound->GetVolume(fVol); }; //3D Property void SetPosition(D3DVECTOR& vPos); void GetPosition(D3DVECTOR& vPos); void SetVelocity(const D3DVECTOR& vVel); void GetVelocity(D3DVECTOR& vVel); void SetMaxDistance(float fMaxDist); void GetMaxDistance(float& fMaxDist); void SetMinDistance(float fMinDist); void GetMinDistance(float& fMinDist); void SetConeAngles(DWORD dwInside, DWORD dwOutside); void GetConeAngles(DWORD& dwInside, DWORD& dwOutside); void SetConeOrientation(D3DVECTOR& vOrientation); void GetConeOrientation(D3DVECTOR& vOrientation); void SetConeOutsideVolume(float fVolume); void GetConeOutsideVolume(float& fVolume); void SetMode(DWORD dwMode); void GetMode(DWORD& dwMode); }; #endif // !defined(AFX_STREAMINGSOUND3D_H__2504463D_A560_4075_AD7C_14975B160E69__INCLUDED_)