VC独自パッケージ簡単な再生オーディオMCIクラスライブラリ
8783 ワード
ネット上の多くの方法を参照して、それから自分でオーディオを再生できる簡単なMCIクラスライブラリをカプセル化して、後で時間があれば改善し続けます.
ダウンロード先:https://github.com/RiKiYuu/MusicPlay.git
#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