⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 themci.h

📁 完整的MP3播放器源码
💻 H
字号:
// TheMci.h : Declaration of the CTheMci
// Marius C.
//////////////////////////////////////////////////////////////////////////
#ifndef __THEMCI_H_
#define __THEMCI_H_

#include    "resource.h"       // main symbols
#include	<mmsystem.h>


//
#pragma comment(linker,"/defaultlib:Winmm.lib")
/////////////////////////////////////////////////////////////////////////////
// CTheMci
class CTheMci  
	
{
public:
    CTheMci():m_bDestructor(FALSE),
                    m_active(0),m_nBufs(3),
                    m_bufSize(65535),m_bMode(0)

	{
		m_pWav[0] = 0;
		m_pWav[1] = 0;
		m_pWav[2] = 0;
	}

    void Close()
    {
        if(m_hwOut == 0)
            return;
        TRACE("MCi::Close(){\r\n");    
        
        int ret;
        Sleep(400);
        ret = waveOutReset(m_hwOut);
        Sleep(600);
        ret = waveOutClose(m_hwOut);
		for(int i=0;i<3;i++)
		{
			if(m_pWav[i])
			{
				delete[] m_pWav[i]->lpData;
				delete m_pWav[i];
			}
            m_pWav[i] = 0;
		}
        ::CloseHandle(m_hEvent);
        TRACE("MCi::Close()}\r\n");    
    }
	~CTheMci()
	{
		for(int i=0;i<3;i++)
		{
            if(m_pWav[i])
            {
			    delete[]    m_pWav[i]->lpData;
                delete m_pWav[i];
            }
		}
     
	}


	BYTE*	SingAndRetNextBuff(DWORD* pBytesToPlay);
	BYTE*	GetBufferPtr(DWORD* nLength);
	BOOL	Open(DWORD nFreq,DWORD nChannels, HWND notyMsg,int nMsg, 
				 DWORD nSampleLength, int buffSize, int nBuffers);
    static  void	CALLBACK CallBackNoty(HWAVEOUT hWo, UINT uMsg,
											DWORD dwInstance,
											DWORD dwwParam,
											DWORD dwlParam);
private:

////
    static			HANDLE	m_hEvent;
    HANDLE			m_hthread;
    WAVEHDR*		m_pWav[3];
    int				m_active;   /*0-3*/
    int             m_nBufs;
   	WAVEFORMATEX	m_fex;
	HWAVEOUT		m_hwOut;
	int				m_bufSize;
    BOOL			m_bDestructor;
    BOOL            m_bMode;
	int				m_startGap;
    int             m_length;
};

#endif //__THEMCI_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -