人气 279

[游戏程序] 用DirectSound播放OGG格式的音乐 [复制链接]

九艺网 2017-3-10 17:02:05

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
应shenqiren朋友的要求,我贴一段我自己播放OGG音乐的代码。
我的代码没经过仔细的设计,写的也很随意,希望大家帮我修正一下。
(写的时候参考了粘土游戏库的代码)。
头文件:

  1. #include #include #include #include #include #include #include #pragma comment(lib,"dsound.lib")#pragma comment(lib,"dxguid.lib")#pragma comment(lib,"winmm.lib")class ljmMusicBuffer_DSound : public ljmMusicBuffer{public:        ljmMusicBuffer_DSound(IDirectSound8* pDS);        ~ljmMusicBuffer_DSound();        bool LoadOggFile(const char* szFileName);        void Play(bool bLoop);        void Stop(void);        void Pause(void);        void Reset(void);        void SetVolume(float vol);        bool IsPlaying(void);protected:        LPDIRECTSOUND8               m_pDS;        LPDIRECTSOUNDBUFFER    m_pBuffer;        LONG                   m_lVolume;        WAVEFORMATEX           m_wfx;        DWORD                  m_dwWritePos;        OggVorbis_File* m_pVorbisFile;        string m_strCurFile;        bool m_bMono ;        long m_lRate;        int  current_section;        bool m_bLoop;        bool m_bFinished;//        static const int BUFFERSIZE = 8192;        UINT m_TimerID;        void Clear(void);        void FillBuffer(void);        static void CALLBACK OnTimerCB(UINT uID, UINT uMsg,DWORD_PTR pUserData, DWORD_PTR dwParam1, DWORD_PTR dwParam2);};
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-4-29 12:23 , Processed in 0.052979 second(s), 23 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.