vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: mciSendString macht nicht das, was es soll. 
Autor: Maywood
Datum: 06.07.07 11:34

Also, wie erwartet funktioniert das mit einem StringBuilder etc. einwandfrei (unter .Net FW 1.* und 2.0):
Public Class SoundFile
    Private Declare Function mciSendString Lib "winmm.dll" Alias _
      "mciSendStringA" _ 
    (ByVal cmd As String, ByVal rsl As System.Text.StringBuilder, _
     ByVal rsl_start As Int32,ByVal hwdcallback As Int32) As Int32
 
    Private str_alias As String
    Public ReadOnly Property Length As Long
        Get
            Dim sBuffer As New System.Text.StringBuilder(256)
            mciSendString("set " & str_alias & " time format milliseconds", _
              sBuffer,256,0)
            mciSendString("status " & str_alias & " length",sBuffer,256,0)
            Debug.WriteLine (sBuffer.ToString())
            Return(CLng(sBuffer.ToString().Trim()))
        End Get
    End Property
 
    Public ReadOnly Property Position As Long
        Get
            Dim sBuffer As New System.Text.StringBuilder(256)
            mciSendString("set " & str_alias & " time format" & _
              "milliseconds",sBuffer,255,0)
            mciSendString("status " & str_alias & " position", sBuffer, 255,0)
            Return(CLng(sBuffer.ToString().Trim()))
        End Get
    End Property
 
    Private Function randomNumber() As String
        Dim firstPart,secondPart,lastPart As String
        Dim r As New Random()
        firstPart = Microsoft.VisualBasic.Conversion.Hex(r.Next( _
          100000,999999)).Trim().ToLower()
        Return(firstPart)
    End Function
 
   Public Sub New(ByVal AudioFile As String,Optional ByVal DefaultVolume As _
     Long = 1000)
       str_alias = "audiofile" & randomNumber() & "mp3neo"
       Try
           Dim N As String = Chr(34)
           Dim sBuffer As New System.Text.StringBuilder(256)
           If mciSendString("open " & N & AudioFile & N & " alias " & _
             str_alias, nothing, 0, 0) = 0 Then
               If mciSendString("setaudio " & str_alias & " volume to " & _
               DefaultVolume.ToString(), nothing, 0, 0) = 0 Then
                   If mciSendString("set " & str_alias & " time format" & _
                   "milliseconds", sBuffer,0,0) <> 0 Then
                       MessageBox.Show("Fehler bei der Initialisierung des" & _
                       "Songs","Fehler (Code" & _
                       "0x00000003)",MessageBoxButtons.Ok,MessageBoxIcon.Error)
                       mciSendString("close " & str_alias,Nothing,0,0)
                   End If
               Else
                   MessageBox.Show("Fehler bei der Initialisierung des" & _
                     "Songs","Fehler (Code" & _
                     "0x00000002)",MessageBoxButtons.Ok,MessageBoxIcon.Error)
                   mciSendString("close " & str_alias,Nothing,0,0)
               End If
           Else
               MessageBox.Show("Fehler bei der Initialisierung des" & _
                 "Songs","Fehler (Code" & _
                 "0x00000001)",MessageBoxButtons.Ok,MessageBoxIcon.Error)
           End If
       Catch
       End Try
   End Sub
 
   Public Overloads Function AudioPlay() As Boolean
       If mciSendString("play " & str_alias & " from 0",Nothing,0,0) = 0 Then
           Return(True)
       Else
           Return(False)
       End If
   End Function
 
   Public Overloads Function AudioPlay(ByVal FromPosition As Long) As Boolean
       If FromPosition <= Me.Length - 10 And FromPosition >= 0 Then
           If mciSendString("play " & str_alias & " from 0",Nothing,0,0) = 0 _
             Then
               Return(True)
           Else
               Return(False)
           End If
       End If
   End Function
 
End Class
(getestet mit Mp3-Dateien)
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
mciSendString macht nicht das, was es soll.1.133Griever04.07.07 12:37
Re: mciSendString macht nicht das, was es soll.745Maywood04.07.07 15:50
Re: mciSendString macht nicht das, was es soll.761Griever04.07.07 18:53
Re: mciSendString macht nicht das, was es soll.733Griever05.07.07 00:53
Re: mciSendString macht nicht das, was es soll.746Griever05.07.07 00:53
Re: mciSendString macht nicht das, was es soll.759Maywood05.07.07 12:14
Re: mciSendString macht nicht das, was es soll.726Griever05.07.07 16:54
Re: mciSendString macht nicht das, was es soll.1.097Maywood06.07.07 11:34
Des Problems Lösung ;D729Griever08.07.07 05:02

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel