VB.NETサンプルの「サウンドの再生状況を指定する」で、エラーが・・・

タグの編集
投稿者 winvis  (学生) 投稿日時 2009/11/22 04:09:32
こんにちわ、winvisです。
VB.NETサンプルの「サウンドの再生状況を指定する」で、以下のエラー出たのですが・・・どういう状況なんでしょうか・・・orz

エラー 1
型 'String' の値を 'System.Text.StringBuilder' に変換できません。

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)
投稿者 葉月  (社会人) 投稿日時 2009/11/22 08:53:14
winvisさん、こんばんは。
前に私が作ったサンプルを参考に、以下のメソッドを追加/編集してください。

■サンプルのあるURL
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9451

コメントに書かれている『追加』はサンプルを参考に新規作成し、
『編集』は元が存在するのでサンプルを参考に中身を変更してください。

それから、サンプルの修正が終わり無事に動いたら――
Private flgPlay As Boolean = False
のフィールドは不要になるので、いらなくなるよう書き換えてください。


>>>Form1.vb(編集/追加)
     ' イベントの編集。終了 
    Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button2.Click
        Me.PlayerStop()
    End Sub

    ''' <summary> 
    ''' メソッドの追加。再生状態のときに、プレイヤーを終了する。 
    ''' </summary> 
    Private Sub PlayerStop()
        ' 再生中 
        Const STRING_PLAY_STATE_PLAYING As String = "playing"

        ' 再生状態 
        Dim strMode As String = objMciCmd.PlayStateResult(STR_ALIAS)
        Console.WriteLine(strMode)

        If strMode.Equals(STRING_PLAY_STATE_PLAYING) Then
            objMciCmd.PlayerStop(STR_ALIAS)
        End If
    End Sub




>>>MciCommand.vb(追加)
    ''' <summary> 
    ''' 追加。再生状態を取得する。 
    ''' </summary> 
    ''' <param name="strAlias">エイリアス名</param> 
    ''' <returns>再生状態</returns> 
    Public Function PlayStateResult(ByVal strAlias As StringAs String
        ' バッファー 
        Dim strBuf As String = New String(Chr(0), 255)
        ' 再生状態 
        Dim strMode As String = String.Empty
        ' コマンド 
        Dim strCmd As String = String.Empty

        strCmd = String.Concat("status ", strAlias, " mode")
        Call mciSendString(strCmd, strBuf, strBuf.Length, 0)
        strMode = strBuf.Replace(Chr(0), "")

        Return strMode
    End Function