ヘッダー

VB.NET2002対応 VB.NET2003対応 VB2005対応

 

サウンドの再生位置を設定する

この記事が対象とするファイル形式

 mp3 (*.mp3) 対象ですが、古い環境では扱えない場合があります。
 wave (*.wav) 対象です。
 midi (*.mid) 対象ですが、時間指定の単位が異なります。

 

メモ:mp3, waveの場合は再生位置をミリ秒単位で設定します。midiのときはどのような単位なのか不明です。

 

1.再生位置を10秒地点に設定する。

この例ではButton1をクリックするとC:\Test.mp3を再生する。Button2をクリックすると停止する。 再生中にButton3をクリックすると10秒地点から再生する。

メモ:再生中でなくても「open」していれば動作可能です。

VB.NET2002対応 VB.NET2003対応 VB2005対応

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
'■再生位置を10秒地点に設定
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    Call mciSendString("seek MySound to 10000", "", 0, 0)
    Call mciSendString("play MySound", "", 0, 0)

End
Sub

 

2.再生位置を先頭に設定する。

この例ではButton1をクリックするとC:\Test.mp3を再生する。Button2をクリックすると停止する。 再生中にButton3をクリックすると先頭から再生する。

メモ:再生中でなくても「open」していれば動作可能です。

VB.NET2002対応 VB.NET2003対応 VB2005対応

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
'■再生位置を10秒地点に設定
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    Call mciSendString("seek MySound to start", "", 0, 0)
    Call mciSendString("play MySound", "", 0, 0)

End
Sub