TNB Library
公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CMciPlayer クラス

MCI プレイヤークラス. [詳解]

#include <TnbMciPlayer.h>

+ CMciPlayer の継承関係図

公開メンバ関数

bool Close (void)
 [設定] クローズ. [詳解]
 
 CMciPlayer (void)
 コンストラクタ [詳解]
 
MCIDEVICEID GetDeviceId () const
 [取得] デバイス ID 取得. [詳解]
 
MCIERROR GetLastError (void) const
 [取得] ラストエラーコード取得. [詳解]
 
bool GetLength (DWORD &_ms) const
 [取得] 全演奏時間. [詳解]
 
DWORD GetMode (void) const
 [取得] モード取得. [詳解]
 
bool GetPlayingPosition (DWORD &_ms) const
 [取得] 演奏位置取得. [詳解]
 
bool GetSourceSize (SIZE &_size) const
 [取得] 画像大きさ取得. [詳解]
 
bool IsOpened (void) const
 [取得] オープン確認. [詳解]
 
bool IsPaused (void) const
 [取得] 一時停止中? [詳解]
 
bool OpenAvi (LPCTSTR lpszFileName, HWND hViewWnd)
 [設定] AVI ファイルオープン. [詳解]
 
bool OpenMidi (LPCTSTR lpszFileName)
 [設定] MIDI ファイルオープン. [詳解]
 
bool OpenMp3 (LPCTSTR lpszFileName)
 [設定] MP3 ファイルオープン. [詳解]
 
bool OpenWave (LPCTSTR lpszFileName)
 [設定] WAVE ファイルオープン. [詳解]
 
bool Pause (bool isPause=true)
 [設定] 演奏中断・再開. [詳解]
 
bool Play (void)
 [設定] 演奏開始. [詳解]
 
bool Seek (DWORD pos=0, bool isResume=true)
 [設定] シーク. [詳解]
 
void SetParentWnd (HWND hWnd)
 [設定] 親ウィンドウ設定. [詳解]
 
bool SetViewRect (const RECT &rect)
 [設定] 表示RECT設定. [詳解]
 
bool SetVolume (DWORD vol)
 [設定] 音量設定. [詳解]
 
bool Stop (void)
 [設定] 演奏停止. [詳解]
 
 ~CMciPlayer (void)
 デストラクタ [詳解]
 

静的公開メンバ関数

static CStr GetErrorString (MCIERROR e)
 [取得] エラー文字列取得. [詳解]
 

限定公開メンバ関数

bool Open (LPCTSTR lpszFileName, LPCTSTR lpszDeviceType, bool isDeviceTypeId, HWND hViewWnd=NULL)
 [設定] オープン. [詳解]
 
void SetLastError (MCIERROR e)
 [設定] ラストエラーコード設定. [詳解]
 

詳解

MCI プレイヤークラス.

MCI を使用して、 MP3 ファイルや MIDI ファイルを再生します。
todo:
特定の Windows7 64bitの環境において、CLOSE 時に imjptip.dll で Access Violation が発生する。原因不明。
必要ファイル
TnbMciPlayer.h
日付
10/05/25 新規作成
10/06/25 MIDI だけでなく、 MCI 関係なら再生できるように変更。
13/01/16 ヘッダ独立。動画ファイルにも暫定対応。

TnbMciPlayer.h38 行目に定義があります。

構築子と解体子

◆ CMciPlayer()

CMciPlayer ( void  )

コンストラクタ

TnbMciPlayer.h43 行目に定義があります。

◆ ~CMciPlayer()

~CMciPlayer ( void  )

デストラクタ

TnbMciPlayer.h48 行目に定義があります。

関数詳解

◆ Close()

bool Close ( void  )

[設定] クローズ.

戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h128 行目に定義があります。

◆ GetDeviceId()

MCIDEVICEID GetDeviceId ( ) const

[取得] デバイス ID 取得.

戻り値
0取得失敗。未オープン。
0以外取得成功。値はデバイス ID。

TnbMciPlayer.h68 行目に定義があります。

◆ GetErrorString()

static CStr GetErrorString ( MCIERROR  e)
static

[取得] エラー文字列取得.

引数
eエラーコード.
戻り値
文字列。

TnbMciPlayer.h349 行目に定義があります。

◆ GetLastError()

MCIERROR GetLastError ( void  ) const

[取得] ラストエラーコード取得.

戻り値
エラーコード. GetErrorString() で文字列に変換することが可能です。

TnbMciPlayer.h339 行目に定義があります。

◆ GetLength()

bool GetLength ( DWORD &  _ms) const

[取得] 全演奏時間.

オープンした曲の全演奏時間を返します。

引数
_ms取得した時間(ms)が格納されます。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h162 行目に定義があります。

◆ GetMode()

DWORD GetMode ( void  ) const

[取得] モード取得.

戻り値
MCI_MODE_NOT_READYエラー。
MCI_MODE_STOP停止中。
MCI_MODE_PLAY演奏中。
MCI_MODE_PAUSE一時停止中。
MCI_MODE_SEEKシーク中。

TnbMciPlayer.h175 行目に定義があります。

◆ GetPlayingPosition()

bool GetPlayingPosition ( DWORD &  _ms) const

[取得] 演奏位置取得.

演奏中の位置を返します。

引数
_ms取得した時間(ms)が格納されます。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h297 行目に定義があります。

◆ GetSourceSize()

bool GetSourceSize ( SIZE &  _size) const

[取得] 画像大きさ取得.

覚え書き
動画の場合のみ使用可能です。
引数
[out]_size成功すると、大きさが格納されます。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h323 行目に定義があります。

◆ IsOpened()

bool IsOpened ( void  ) const

[取得] オープン確認.

戻り値
trueオープン済み.
false未オープン.

TnbMciPlayer.h150 行目に定義があります。

◆ IsPaused()

bool IsPaused ( void  ) const

[取得] 一時停止中?

戻り値
true一時停止中。
false否。

TnbMciPlayer.h244 行目に定義があります。

◆ Open()

bool Open ( LPCTSTR  lpszFileName,
LPCTSTR  lpszDeviceType,
bool  isDeviceTypeId,
HWND  hViewWnd = NULL 
)
protected

[設定] オープン.

引数
lpszFileNameファイル名.
lpszDeviceTypeデバイスタイプ名.
isDeviceTypeIdデバイスタイプがIDの場合 true を指定します。
hViewWnd表示ウィンドウハンドル。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h371 行目に定義があります。

◆ OpenAvi()

bool OpenAvi ( LPCTSTR  lpszFileName,
HWND  hViewWnd 
)

[設定] AVI ファイルオープン.

覚え書き
mpeg ファイルも対応。
引数
lpszFileNameファイル名.
hViewWnd表示ウィンドウハンドル。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h117 行目に定義があります。

◆ OpenMidi()

bool OpenMidi ( LPCTSTR  lpszFileName)

[設定] MIDI ファイルオープン.

引数
lpszFileNameファイル名.
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h79 行目に定義があります。

◆ OpenMp3()

bool OpenMp3 ( LPCTSTR  lpszFileName)

[設定] MP3 ファイルオープン.

引数
lpszFileNameファイル名.
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h91 行目に定義があります。

◆ OpenWave()

bool OpenWave ( LPCTSTR  lpszFileName)

[設定] WAVE ファイルオープン.

引数
lpszFileNameファイル名.
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h103 行目に定義があります。

◆ Pause()

bool Pause ( bool  isPause = true)

[設定] 演奏中断・再開.

覚え書き
演奏していない時は、何もしませんが、成功で返ります。
引数
isPausetrue なら中断 false なら再開します。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h225 行目に定義があります。

◆ Play()

bool Play ( void  )

[設定] 演奏開始.

覚え書き
演奏開始位置を変えたい場合、 Seek() を使います。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h191 行目に定義があります。

◆ Seek()

bool Seek ( DWORD  pos = 0,
bool  isResume = true 
)

[設定] シーク.

引数
pos頭からの時間(ms).
isResumetrue ならシーク後、再生を再開します。
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h260 行目に定義があります。

◆ SetLastError()

void SetLastError ( MCIERROR  e)
protected

[設定] ラストエラーコード設定.

引数
eエラーコード.

TnbMciPlayer.h431 行目に定義があります。

◆ SetParentWnd()

void SetParentWnd ( HWND  hWnd)

[設定] 親ウィンドウ設定.

親ウィンドウを指定すると、そのウィンドウに MM_MCINOTIFY が通知されます。

引数
hWnd親ウィンドウ。 NULL を指定すると解除。

TnbMciPlayer.h58 行目に定義があります。

◆ SetViewRect()

bool SetViewRect ( const RECT &  rect)

[設定] 表示RECT設定.

覚え書き
動画の場合のみ使用可能です。
引数
rect表示範囲
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h309 行目に定義があります。

◆ SetVolume()

bool SetVolume ( DWORD  vol)

[設定] 音量設定.

引数
vol音量 0〜1000
戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h282 行目に定義があります。

◆ Stop()

bool Stop ( void  )

[設定] 演奏停止.

戻り値
true成功。
false失敗。詳細は GetLastError() で得られます。

TnbMciPlayer.h208 行目に定義があります。