Положение / длина состояния mci отсутствует

Я пытаюсь проверить, не закончился ли звуковой файл с помощью Windows MCI API в vb.net, но он продолжает выдавать недопустимое имя устройства (263 - MCIERR_INVALID_DEVICE_NAME), это из-за моего синтаксиса или какой-то другой ошибки?

  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

1 ответ

Почему цель определяется как целое число, а затем добавляется как пустая строка? Microsoft.VisualBasic.Right(ButtonName, 2) на самом деле возвращает строку, которая была определена как целое число? Может быть, переопределить Target как строку, а затем проверить, чтобы убедиться, что она не является пустой строкой, прежде чем передавать ее в mciSendString.

Другие вопросы по тегам