Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
サウンドのボリュームを取得する
この記事が対象とするファイル形式
mp3 | (*.mp3) | ○ | 対象ですが、古い環境では扱えない場合があります。 |
wave | (*.wav) | ◎ | 対象です。 |
midi | (*.mid) | × | 対象外です。 |
この例ではButton1をクリックするとC:\Test.mp3を再生する。Button2をクリックすると停止する。 再生中にButton3をクリックするとボリュームを表示する。
メモ:再生中でなくても「open」していれば動作可能です。
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 |
'■ボリューム取得 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 Volume As String Call mciSendString("status MySound volume", Buffer, Len(Buffer), 0) Volume = Replace(Buffer, Chr(0), "") MsgBox(Volume) End Sub |
メモ:ボリュームはこのサウンドの再生に使用される一時的なボリュームであって、Windowsの音量設定によるボリュームではありません。ボリュームは0~1000の範囲のようですが詳細は不明です。