VB.NETサンプルの「サウンドの再生状況を指定する」で、エラーが・・・
投稿者 葉月  (社会人)
投稿日時
2009/11/22 08:53:14
winvisさん、こんばんは。
前に私が作ったサンプルを参考に、以下のメソッドを追加/編集してください。
■サンプルのあるURL
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9451
コメントに書かれている『追加』はサンプルを参考に新規作成し、
『編集』は元が存在するのでサンプルを参考に中身を変更してください。
それから、サンプルの修正が終わり無事に動いたら――
Private flgPlay As Boolean = False
のフィールドは不要になるので、いらなくなるよう書き換えてください。
>>>Form1.vb(編集/追加)
>>>MciCommand.vb(追加)
前に私が作ったサンプルを参考に、以下のメソッドを追加/編集してください。
■サンプルのある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.Object, ByVal 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 String) As 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
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)