vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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: mp3-Radio-Stream hören aber wie? 
Autor: burny
Datum: 13.05.07 15:01

Zu guter letzt noch eine von mir geschriebene Puffer-Klasse:
    Class clsFIFOStack(Of T)
        Private stack() As T
        Dim blockop As Boolean
        ''' <summary>
        ''' Gibt den Pufferinhalt zurück
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        ReadOnly Property StackContent() As T()
            Get
                Return stack
            End Get
        End Property
        ReadOnly Property StackLength() As Integer
            Get
                If Not stack.Length = Nothing Then
                    Return stack.Length
                Else
                    Return 0
                End If
            End Get
        End Property
        Public Sub New()
            stack = Array.CreateInstance(GetType(T), 0)
        End Sub
        ''' <summary>
        ''' Liest aus dem Puffer ohne die gelesenen Elemente zu entfernen
        ''' </summary>
        ''' <param name="StartIndex">Optional. Index ab dem gelesen werden 
        ' soll</param>
        ''' <param name="Length">Optiolnal. Länge, die gelesen werden soll. 
        ' Wenn ausgelassen, wird der komplette Puffer zurückgegeben</param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Function Peek(Optional ByVal StartIndex As Integer = 0, Optional _
          ByVal Length As Integer = -1) As T()
            'wenn länge ausgelassen wurde, kompletten stack zurückgeben
            If Length = -1 Then Length = stack.Length
            'ergebnisarray erstellen
            Dim result() As T = Array.CreateInstance(GetType(T), Length)
            'variablen aus stack ins ergebnis kopieren
            Array.Copy(stack, StartIndex, result, 0, Length)
            Return result
        End Function
 
        Public Function Pop(Optional ByVal length As Integer = 1) As T()
            If blockop Then waitforunlock()
            blockop = True
            'Rückgabe-Array
            Dim result() As T
            'Temporäres Array
            Dim temparray() As T
            'wenn eine zu große länge angegeben wurde, auf maximallänge setzen
            If length > stack.Length Then length = stack.Length
 
            'Ergebnis aus dem Stack-array lesen
            result = Peek(0, length)
 
            'Ein neues, temporoäres Array initialisieren
            temparray = Array.CreateInstance(GetType(T), stack.Length - length)
            'stack ab lenght - 1(ende der pop-daten) + 1(anfang der restdaten) 
            ' in temparray kopieren
            Array.Copy(stack, length, temparray, 0, stack.Length - length)
            'stack auf neue größe ändern
            Array.Resize(Of T)(stack, temparray.Length)
            'restinhalt aus temparray zurück kopieren
            Array.Copy(temparray, stack, temparray.Length)
            blockop = False
            'Ergebnis zurückgeben
            Return result
        End Function
'Klasse geht im nächsten Teil weiter!!!!!!!!!!!!!!!!
------------------------------------Weiter mit Teil 4---------------------------------------
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
mp3-Radio-Stream hören aber wie?1.595Hummelwalker27.04.07 15:34
Re: mp3-Radio-Stream hören aber wie? Teil 11.023burny13.05.07 14:55
Re: mp3-Radio-Stream hören aber wie? Teil 11.094Hummelwalker15.05.07 15:57
Re: mp3-Radio-Stream hören aber wie? Teil 1954burny16.05.07 16:59
Re: mp3-Radio-Stream hören aber wie? Teil 2944burny13.05.07 14:58
Re: mp3-Radio-Stream hören aber wie?929burny13.05.07 15:01
Re: mp3-Radio-Stream hören aber wie? Teil 4967burny13.05.07 15:01

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