CDを再生するには

WindowsAPIのmciSendStringを使えば簡単にCDを再生できます。

宣言(準備としてまず次のMciSendStringの宣言を追加します)

Private Declare Function mciSendString Lib "WINMM" Alias "mciSendStringA" (ByVal CMD$, ByVal RET$, ByVal RETLEN&, ByVal HwndBack&) As Long

※Privateは必要に応じて削除またはPublicに変更

使 用 方 法

MCISendString CMD$,RET$,RETLEN&,HwndBack&

引 数 説 明


CMD

String

処理内容。
書式:コマンド名 CDAUDIO パラメータ

RET

Long

実行結果をこの変数に入れる(mciGetErrorString使用時に使う)

RETLEN

String

RET$の大きさ

HwndBack

Long(HWND)

CDの再生終了などを通知するウィンドウのハンドル。VB5でAddressOfが使用できるようになって使用できるようになった。SetWindowLongを使用しメッセージをフックして使用する。CMDにnotifyが指定されている場合のみ有効。

C M D に 関 す る 追 加 説 明

次のコードをCMD$に代入することで次の機能を追加することができます。

コード 機能 使用頻度
Open CDAUDIO CDを開く A
Play CDAUDIO CDを再生(再生する前にOpenを実行) A
Stop CDAUDIO CDの再生をストップ A
Close CDAUDIO CDを閉じる(CloseするまえにStopを実行) A
Seek CDAUDIO to start CDAUDIOのまき戻し(繰り返し再生に使用) A
Pause CDAUDIO CDAUDIOの再生の一時停止 B
Status CDAUDIO MODE CDAUDIOの状態(繰り返し再生に使用) *RET$がplayingなら再生中、stoppedなら停止中 B

まだまだたくさん命令があるのですが、ここでは説明しきれません。詳しくは「Win32 APIプログラマーズリファレンス」(Visual Basicのプロフェッショナルエディション以上やVisual C++などの開発ソフトに含まれています)などを見てください。

サ ン プ ル プ ロ グ ラ ム

まず、VisualBasicを起動してプロジェクトを新しく作成してください。そして次のコードを貼り付けてください。このサンプルコードはプログラム実行時にCDを再生し、終了時に再生を停止するものです(繰り返し再生機能つき)。なお再生にはCD−ROMドライブに音楽CDが入っている必要があります。あらかじめ用意しておいてください。

動作確認:Visual Basic 5.0(Visual Basic 4.0でも問題なく動作するはずです),Windows98

Private Declare Function mciSendString Lib "WINMM" Alias "mciSendStringA" (ByVal CMD$, ByVal Ret$, ByVal RETLEN&, ByVal HwndBack&) As Long
Private Sub Form_Load()
Dim Ret As String * 255
Dim Ret2 As String * 255
mciSendString "open CDAUDIO", Ret, 255, 0 'CDAUDIOを開く
mciSendString "play CDAUDIO", Ret2, 255, 0 '再生する
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim Ret As String * 255
Dim Ret2 As String * 255
mciSendString "stop CDAUDIO", Ret, 255, 0 '再生停止
mciSendString "close CDAUDIO", Ret2, 255, 0 'CDAUDIOを閉じる
End Sub

トップに戻る
Visual Basicワンポイントテクニック目次に戻る

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル