2016-06-17 7 views
0

vb.netのWindows MCI APIを使用してサウンドファイルが終了したかどうかを確認しようとしていますが、無効なデバイス名(263 - MCIERR_INVALID_DEVICE_NAME)または何か他のエラー?mciステータス位置/長さが失敗しました

Public Sub CheckAndPlay(ButtonName As String) 
     Dim Target As Integer 
     Dim Position As String = Space(256) 
     Dim Length As String = Space(256) 

     Target = Microsoft.VisualBasic.Right(ButtonName, 2) 

     w = mciSendString("status " & Target & " position", Position, 256, 0) 
     w = mciSendString("status " & Target & " length", Length, 256, 0) 

     If Val(Position) = Val(Length) - 10 Or Val(Length) = Nothing Or Val(Position) = 0 Or Val(Position) = Nothing Then 
      w = mciSendString("play " & ButtonName, Nothing, 0, 0) 
     End If 
    End Sub 

答えて

0

なぜターゲットは整数として定義され、その後ヌル文字列として追加されますか? Microsoft.VisualBasic.Right(ButtonName、2)は実際に整数として定義された文字列を返しますか? Targetを文字列として再定義し、mciSendStringに渡す前にnull文字列でないことを確認してください。

関連する問題