www.pudn.com > 3D_OnlineGame_Humen.rar > Midi.h
#ifndef _MIDI_ #define _MIDI_ /* #include#include #include #include #include #if !defined(AFX_MUSIC_H__86E74FCC_F274_11D2_BBB1_00E02917BC84__INCLUDED_) #define AFX_MUSIC_H__86E74FCC_F274_11D2_BBB1_00E02917BC84__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CMusicPlayer { public: CMusicPlayer(); virtual ~CMusicPlayer(); BOOL InitMP3(); BOOL OpenFile(LPCTSTR); BOOL CreateFilterGraph( void ); void DeleteContents( void ); void Play(); void CheckPlayEnd(); // loop, 檢查是否已播完 void Pause(); void Stop(); void AbortStop(); void PlayContinue(); HANDLE GetGraphEventHandle( ) { return m_hGraphNotifyEvent; }; void OnGraphNotify(); enum {Uninitialized, Stopped, Paused, Playing } m_State; IGraphBuilder *m_pGraph; IBasicAudio *m_pAudio; BOOL CanPlay(){ return m_State==Stopped || m_State==Paused; }; BOOL CanStop(){ return m_State==Playing || m_State==Paused; }; BOOL CanPause(){ return m_State==Playing || m_State==Stopped; }; BOOL IsInitialized(){ return m_State!=Uninitialized; }; void VolumeSet(long i); // 設定 0 ~ -10000音量 void VolumeUp(long i); void VolumeDown(long i); void BalanceSet(long i); // -10000 靠左, 10000 靠右 void BalanceLeft(long i); void BalanceRight(long i); HANDLE m_hGraphNotifyEvent; HANDLE hTimer; DWORD dwTimerID; protected: }; extern CMusicPlayer* g_Music; #endif // !defined(AFX_MUSIC_H__86E74FCC_F274_11D2_BBB1_00E02917BC84__INCLUDED_) */ BOOL PlayMidi(char *sFileName); BOOL PauseMidi(); BOOL ResumeMidi(); BOOL StopMidi(); BOOL ReplayMidi(); #endif