投稿者 winvis  (学生) 投稿日時 2009/11/14 09:56:24
DOBON.netさん(間違っていたらすいません><)のサイトのコードを、元に
mp3プレーヤーを作ってみたのですが・・・
日本語がパスに含まれていると再生してくれませんorz

    <System.Runtime.InteropServices.DllImport("winmm.dll", _
    CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function mciSendString(ByVal command As String, _
    ByVal buffer As System.Text.StringBuilder, _
    ByVal bufferSize As Integer, ByVal hwndCallback As IntPtr) As Integer
    End Function

    Private aliasName As String = "MediaFile"
    Dim cmd As String
    'Button1のClickイベントハンドラ
    Private Sub Button1_Click(ByVal sender As Object, _
            ByVal e As EventArgs) Handles Button1.Click
        '再生するファイル名
        Dim fileName As String = "C:\[eufonius][リフレクティア][リフレクティア (instrumental)].mp3"


        'ファイルを開く
        cmd = "open """ + fileName + """ type mpegvideo alias " + aliasName
        If mciSendString(cmd, Nothing, 0, IntPtr.Zero) <> 0 Then
            Return
        End If '再生する
        Me.Text = fileName
    End Sub

    'Button2のClickイベントハンドラ
    Private Sub Button2_Click(ByVal sender As Object, _
            ByVal e As System.EventArgs) Handles Button2.Click
        Dim cmd As String
        '再生しているWAVEを停止する
        cmd = "stop " + aliasName
        mciSendString(cmd, Nothing, 0, IntPtr.Zero)
        '閉じる
        cmd = "close " + aliasName
        mciSendString(cmd, Nothing, 0, IntPtr.Zero)
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        cmd = "play " + aliasName
        mciSendString(cmd, Nothing, 0, IntPtr.Zero)
    End Sub