#ifndef _StreamBuffer_H_ #define _StreamBuffer_H_ #include "SoundBuffer.h" ///////////////////////////////////////////////////////////////////////////////////////// // class CStreamBuffer : public CSoundBuffer { protected: DWORD m_dwLastPlayPos; DWORD m_dwPlayProgress; DWORD m_dwNotifySize; DWORD m_dwNextWriteOffset; HANDLE m_hNotificationEvent; bool m_bFillNextNotificationWithSilence; bool m_bLoopPlay; private: CStreamBuffer( const CStreamBuffer & ); //»ç¿ëÇÏÁö ¸øÇϵµ·Ï ¸·¾Æ³ùÀ½. CStreamBuffer & operator=( const CStreamBuffer & ); public: CStreamBuffer(); CStreamBuffer( IDirectSound8 *, ISoundFile *, bool b3DSound, DWORD dwNumBuffers = 10 ); CStreamBuffer( IDirectSound8 *, const char *, bool b3DSound, DWORD dwNumBuffers = 10 ); ~CStreamBuffer(); void Create( IDirectSound8 *, ISoundFile *, bool b3DSound, DWORD dwNumBuffers = 10, DWORD dwAddFlag = 0 ); void Create( IDirectSound8 *, const char *, bool b3DSound, DWORD dwNumBuffers = 10, DWORD dwAddFlag = 0 ); void Destroy(); int Play( bool bLoop ); void Play( DWORD dwIndex, bool bLoop ); void Reset( unsigned ); void ResetAll(); HANDLE GetEventNotify() { return m_hNotificationEvent; } void HandleNotification(); eSndObjType GetType() { return SNDOBJTYPE_STREAMBUFFER; } }; ///////////////////////////////////////////////////////////////////////////////////////// #endif