VC独自パッケージ簡単な再生オーディオMCIクラスライブラリ

8783 ワード

ネット上の多くの方法を参照して、それから自分でオーディオを再生できる簡単なMCIクラスライブラリをカプセル化して、後で時間があれば改善し続けます.
#ifndef __MUSICPLAY__
#define __MUSICPLAY__

/****************************************************************************
|                  										|
| MM_MCINOTIFY:															|
| MCI_NOTIFY_SUCCESSFUL----      										|
****************************************************************************/

#pragma once
#include "mmsystem.h"
#include 
#pragma comment(lib,"winmm.lib")
using namespace std;

class CMusicPlay
{
public:
	CMusicPlay();
	~CMusicPlay();

public:
	/****************************************************************************
	|     :                                          |
	|     :hNotifyWindow :                                       |
	|     :                                                               |
	|      : 					                                            |
	|       :					                                            |
	****************************************************************************/
	void setNotifyHwnd(HWND hNotifyWindow);

	/****************************************************************************
	|     :                                                     |
	|     :strFile :                                                  |
	|     :                                                               |
	|      :1 :                                                    |
	|           2 :                                                     |
	|           0 :                                                          |
	|       :					                                            |
	****************************************************************************/
	int OpenFile(CString strFile);

	/****************************************************************************
	|     :                                                         |
	|     :strFile :                                                  |
	|     :                                                               |
	|      :1 :                                                    |
	|           2 :                                                     |
	|           3 :                                                    |
	|           4 :                                                        |
	|           5 :                                                    |
	|           0 :                                                          |
	|       :      ,                                            |
	****************************************************************************/
	int play(CString strFile);

	/****************************************************************************
	|     :                                                          |
	|     :                                                               |
	|     :                                                               |
	|      :  :TRUE     :FLASE                                        |
	|       :                                                                |
	****************************************************************************/
	BOOL Pause();

	/****************************************************************************
	|     :                                                          |
	|     :                                                               |
	|     :                                                               |
	|      :  :TRUE     :FLASE                                        |
	|       :                                                                |
	****************************************************************************/
	BOOL Resume();

	/****************************************************************************
	|     :                                                          |
	|     :                                                               |
	|     :                                                               |
	|      : 						                                        |
	|       :                                                                |
	****************************************************************************/
	void Stop();

	/****************************************************************************
	|     :                                                         |
	|     :                                                               |
	|     :                                                               |
	|      :                                                           |
	|       :                                                                |
	****************************************************************************/
	int GetStatus();

	/****************************************************************************
	|     :                                                   |
	|     :                                                               |
	|     :                                                               |
	|      :                                                         |
	|       :                                                                |
	****************************************************************************/
	CString GetMusicPath();

	/****************************************************************************
	|     :                                                  |
	|     :                                                               |
	|     :                                                               |
	|      :   (  :ms)                                              |
	|       :                                                                |
	****************************************************************************/
	DWORD GetTotalTime();

	/****************************************************************************
	|     :            	                                    |
	|     :                                                               |
	|     :                                                               |
	|      :    (  :ms)                                            |
	|       :                                                                |
	****************************************************************************/
	DWORD GetTimePostion();

	/****************************************************************************
	|     :        			                                    |
	|     :                                                               |
	|     :                                                               |
	|      :                                                               |
	|       :                                                                |
	****************************************************************************/
	void CloseFile();

	/****************************************************************************
	|     :                                                   |
	|     :dwTime :       (  :ms)                               |
	|     :                                                               |
	|      :                                                               |
	|       :                                                                |
	****************************************************************************/
	void PlayFrom(DWORD dwTime);

	/****************************************************************************
	|     :                                                           |
	|     :                                                               |
	|     :                                                               |
	|    :                                                               |
	|       :    0-100                                                   |
	****************************************************************************/
	DWORD GetVolumn();

	/****************************************************************************
	|     :                                                            |
	|     :                                                             |
	|     :                                                               |
	|    :    :TRUE     :FLASE                                        |
	|       :    0-100                                                   |
	****************************************************************************/
	BOOL SetVolumn(DWORD dwVol);

private:
	enum { PLAY = 0, PAUSE, STOP } m_fStatus;
	MCIERROR	mciError;
	WORD		m_wDeviceID;
	CString		m_strCurMusicPath;
	HWND		m_hNotifyWindow;
	DWORD		m_dwVolumn;

};

#endif

ダウンロード先:https://github.com/RiKiYuu/MusicPlay.git