vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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? Teil 2 
Autor: burny
Datum: 13.05.07 14:58

------------------------------------------------Anfang Teil 2-----------------------------------------
        Public Sub PushDataOnBuffer(ByRef bytes() As Byte, Optional ByVal _
          startindex As Integer = 0, Optional ByVal length As Integer = 0)
            b.Push(bytes, startindex, length)
        End Sub
        Public Sub ClearBuffer()
            b.Flush()
        End Sub
        Public Sub ReceiveDataThread()
            Dim data As String
            Dim bytes() As Byte = Array.CreateInstance(GetType(Byte), 0)
            Dim response As String = ""
            Dim lastreceive As Date
            data = Nothing
            client.ReceiveBufferSize = 1024
            ' Get a stream object for reading and writing
            Dim stream As NetworkStream = client.GetStream()
            Dim i As Integer = 1
 
            ' Loop to receive all the data sent by the client.
            While (client.Connected)
                Array.Resize(Of Byte)(bytes, client.Available)
                If client.Connected Then
                    Try
                        i = stream.Read(bytes, 0, client.Available)
                    Catch ex As Exception
                        client.Close()
                        WriteToDebug("Streamen an einen Client abgebrochen: ", _
                          enDebugLevel.dlNote, ex, False)
                        Exit Sub
                    End Try
                End If
                data = System.Text.Encoding.ASCII.GetString(bytes)
                ' Process the data sent by the client.
                Data = Data.ToLower()
                If data <> "" Then
                    lastreceive = Date.Now
                    If data.Substring(0, 4) = "get " Then
                        If data.Substring(4).Contains("/listen.mp3") Then
                            st.Start()
                        End If
                    End If
                End If
                If Date.Now.Subtract(lastreceive).Seconds > 3 Then Exit While
                DelayThread(50)
            End While
        End Sub
        Public Sub StreamingThread()
            'Alle wieviel ms wird ein Datenpaket gesendet?
            Const PACKET_DELAY As Single = 200
            'Qualität des Streams: Bitrate / 8 * 1024
            Const QUALITY As Integer = 128 / 8 * 1024
            'Resultierende Paketgröße
            Const PACKET_SIZE As Integer = CInt(QUALITY * PACKET_DELAY / 1000)
            Dim stream As NetworkStream = client.GetStream
            Dim response As String
            Dim by() As Byte
            response = "HTTP/1.1 200 OK" & vbCrLf & _
"Date: " & Date.Now.ToUniversalTime.ToLongTimeString & vbCrLf & _
"Server: Grab.fm Last.fm Streaming Proxy" & vbCrLf & _
"Connection: Close" & vbCrLf & vbCrLf
            '"Content-Type: audio/mpeg" & vbCrLf & vbCrLf
            '"Accept(-Ranges): bytes()" & vbCrLf & _
            by = System.Text.Encoding.ASCII.GetBytes(response)
            stream.Write(by, 0, by.Length)
 
            Do While client.Connected
                If b.StackLength > 0 Then
                    by = b.Pop(PACKET_SIZE)
                    If client.Connected Then
                        Try
                            stream.Write(by, 0, by.Length)
                        Catch ex As Exception
                            WriteToDebug("Streamen an einen Client abgebrochen:" & _
                              "", enDebugLevel.dlNote, ex, False)
                            client.Close()
                            Exit Sub
                        End Try
 
                    End If
                    Threading.Thread.Sleep(PACKET_DELAY)
                End If
            Loop
            client.Close()
        End Sub
        Public Sub Disconnect()
            client.Close()
        End Sub
#Region "DelayThread"
        ''' <summary>
        ''' Verzögert die Threadausführung. Reduziert CPU-Last dramatisch.
        ''' </summary>
        ''' <param name="milliseconds"></param>
        ''' <remarks></remarks>
        Private Sub DelayThread(ByVal milliseconds As Integer)
            Threading.Thread.Sleep(milliseconds)
        End Sub
#End Region
    End Class
End Namespace
----------------------------------------Weiter mit Teil 3-----------------------------------------
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
mp3-Radio-Stream hören aber wie?1.596Hummelwalker27.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.096Hummelwalker15.05.07 15:57
Re: mp3-Radio-Stream hören aber wie? Teil 1955burny16.05.07 16:59
Re: mp3-Radio-Stream hören aber wie? Teil 2945burny13.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 4968burny13.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