Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
サウンドの再生状態を取得する
この記事が対象とするファイル形式
mp3 | (*.mp3) | ○ | 対象ですが、古い環境では扱えない場合があります。 |
wave | (*.wav) | ◎ | 対象です。 |
midi | (*.mid) | ◎ | 対象です。 |
再生状態とは「not ready」(準備未完了)、「paused」(一時停止中)、「playing」(再生中)、「stopped」(停止中)のどれかを指す。
この例ではButton1をクリックするとC:\Test.mp3を再生する。Button2をクリックすると停止する。Button3をクリックすると現在のサウンドの再生状態を表示する。
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer |
'■再生 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim FileName As String = "C:\Test.mp3" Call mciSendString(String.Format("open ""{0}"" alias MySound", FileName), "", 0, 0) Call mciSendString("play MySound", "", 0, 0) End Sub |
'■再生終了(完全停止) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Call mciSendString("stop MySound", "", 0, 0) Call mciSendString("close MySound", "", 0, 0) End Sub |
'■再生状態("not
ready", "paused", "playing", "stopped", ""のどれか) Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim Buffer As String = New String(Chr(0), 255) Dim Mode As String Call mciSendString("status MySound mode", Buffer, Len(Buffer), 0) Mode = Replace(Buffer, Chr(0), "") MsgBox(Mode) End Sub |