2016-06-17 8 views
0

Ich versuche zu überprüfen, ob eine Sounddatei mit der Windows MCI API in vb.net beendet ist, aber es immer mit einem ungültigen Gerätenamen (263 - MCIERR_INVALID_DEVICE_NAME) kommt, ist es wegen meiner Syntax oder ein anderer Fehler?mci Status Position/Länge fehlgeschlagen

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 

Antwort

0

Warum wird Target als Integer definiert und dann als Null-String hinzugefügt? Gibt Microsoft.VisualBasic.Right (ButtonName, 2) tatsächlich eine Zeichenfolge zurück, die als Ganzzahl definiert wurde? Eventuell Target als String neu definieren und dann sicherstellen, dass es kein Null-String ist, bevor es an mciSendString übergeben wird.

Verwandte Themen