Bass.dll Titel zeigen.

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von OnkelR.

    Bass.dll Titel zeigen.

    Hallo,
    der Code der unten eingeben ist zeigt nicht den vollständigen Titel an.

    Beispiel:
    Spoiler anzeigen
    Titel: Cro - Einmal um die Welt.
    Zeigt er nur an "Einmal um die Welt."


    Ich habe 2 Label wo einmal stehen soll "Cro" und bei dem anderen "Einmal um die Welt.".
    Ich hoffe ihr versteht was ich möchte.

    Code:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim tagInfo As New Un4seen.Bass.AddOn.Tags.TAG_INFO(url)
    2. If Un4seen.Bass.AddOn.Tags.BassTags.BASS_TAG_GetFromURL(stream, tagInfo) Then
    3. Label4.Text = tagInfo.title.ToString
    4. End If


    Danke
    Du musst auch den Interpret auslesen und den dann wieder mit dem Titel zusammenführen.

    VB.NET-Quellcode

    1. Dim TI As New Un4seen.Bass.AddOn.Tags.TAG_INFO
    2. If (Un4seen.Bass.AddOn.Tags.BassTags.BASS_TAG_GetFromFile(stream, TI)) Then
    3. Text = TI.artist + "-" + TI.title
    4. End If

    8-) faxe1008 8-)
    Achso du willst das bei einem Internetstream machen.
    Das was ich dir gezeigt hatte funktioniert natürlich nur für mp3.

    Du musst das dann wohl Stream spezifisch machen. (Die haben immer Liste zum download wo drin steht was grad läuft)

    8-) faxe1008 8-)
    Doch, ich habs geschaft :)

    VB.NET-Quellcode

    1. Dim tagInfo As New Un4seen.Bass.AddOn.Tags.TAG_INFO(url)
    2. If Un4seen.Bass.AddOn.Tags.BassTags.BASS_TAG_GetFromURL(stream, tagInfo) Then
    3. Label1.Text = tagInfo.artist.ToString
    4. Label2.Text = tagInfo.title.ToString
    5. End If


    Danke für deine Hilfe :)
    Imports:

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports Un4seen.Bass
    3. Imports Un4seen.Bass.Misc
    4. Imports Un4seen.Bass.AddOn.Tags


    Variablen:

    VB.NET-Quellcode

    1. Private inet_stream As Integer
    2. Private _stream_url As String = String.Empty
    3. Private _stream_TagInfo As TAG_INFO
    4. Private _stream_SYNCPROC As SYNCPROC
    5. Private _stream_Synchronizer As Integer = 0
    6. Private _Aufnahme_DownloadProc As DOWNLOADPROC


    Form_Load:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Un4seen.Bass.Bass.BASS_Init(-1, 44100, CType(Un4seen.Bass.BASSInit.BASS_DEVICE_DEFAULT Or Un4seen.Bass.BASSFlag.BASS_STREAM_PRESCAN Or BASSFlag.BASS_STREAM_AUTOFREE, BASSInit), Me.Handle)
    3. End Sub


    Sender-Url laden: zB. Sender_laden("http://streams.ffh.de/ffhchannels/mp3/hqrock.m3u")

    VB.NET-Quellcode

    1. Private Sub Sender_laden(ByVal url As String)
    2. If String.IsNullOrEmpty(url) = True Then Exit Sub
    3. Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_NET_PREBUF, 0)
    4. 'durchsucht PLS, M3U, WPL and ASX Playlisten nach Url's
    5. Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_NET_PLAYLIST, 1)
    6. 'Internet download Buffer Größe
    7. Bass.BASS_SetConfig(BASSConfig.BASS_CONFIG_NET_BUFFER, 300)
    8. Me.Cursor = Cursors.WaitCursor
    9. 'internet stream download callback zuschalten für Aufnahmemöglichkeit
    10. _Aufnahme_DownloadProc = New DOWNLOADPROC(AddressOf MyDownload)
    11. inet_stream = Bass.BASS_StreamCreateURL(url, 0, BASSFlag.BASS_STREAM_AUTOFREE, _Aufnahme_DownloadProc, IntPtr.Zero)
    12. If inet_stream <> 0 Then
    13. 'Meta-Tags auslesen
    14. _stream_TagInfo = New TAG_INFO(url)
    15. If BassTags.BASS_TAG_GetFromURL(inet_stream, _stream_TagInfo) Then
    16. tbx_Album.Text = _stream_TagInfo.album
    17. tbx_Artist.Text = _stream_TagInfo.artist
    18. tbx_Title.Text = _stream_TagInfo.title
    19. tbx_Comment.Text = _stream_TagInfo.comment
    20. tbx_Genre.Text = _stream_TagInfo.genre
    21. tbx_Year.Text = _stream_TagInfo.year
    22. tbx_Bitrate.Text = CStr(_stream_TagInfo.bitrate)
    23. tbx_Frequenz.Text = CStr(_stream_TagInfo.channelinfo.freq)
    24. tbx_Channels.Text = CStr(_stream_TagInfo.channelinfo.chans)
    25. End If
    26. 'Meta-Tag Änderungen kontinuierlich ermitteln
    27. _stream_SYNCPROC = New SYNCPROC(AddressOf MetaSync)
    28. _stream_Synchronizer = Bass.BASS_ChannelSetSync(inet_stream, BASSSync.BASS_SYNC_META, 0, _stream_SYNCPROC, IntPtr.Zero)
    29. 'Lautstärke von TrackBar übernehmen
    30. Bass.BASS_ChannelSetAttribute(inet_stream, Un4seen.Bass.BASSAttribute.BASS_ATTRIB_VOL, CSng(tbar_Volume.Value) / 100.0F)
    31. 'Stream abspielen
    32. Bass.BASS_ChannelPlay(inet_stream, False)
    33. End If
    34. Me.Cursor = Cursors.Default
    35. End Sub


    MetaSync: Meta-Tag Änderungen ermitteln:

    VB.NET-Quellcode

    1. ' Diese Methode reagiert bei Veränderungen der Meta-Tags eines SHOUTcast-Streams
    2. Public Delegate Sub UpdateTagDelegate()
    3. Private Sub MetaSync(ByVal handle As Integer, ByVal channel As Integer, ByVal data As Integer, ByVal user As IntPtr)
    4. If _stream_TagInfo.UpdateFromMETA(Bass.BASS_ChannelGetTags(channel, BASSTag.BASS_TAG_META), False, True) Then
    5. Me.Invoke(New UpdateTagDelegate(AddressOf UpdateTagDisplay))
    6. End If
    7. End Sub
    8. Private Sub UpdateTagDisplay()
    9. tbx_Album.Text = _stream_TagInfo.album
    10. tbx_Artist.Text = _stream_TagInfo.artist
    11. tbx_Title.Text = _stream_TagInfo.title
    12. tbx_Comment.Text = _stream_TagInfo.comment
    13. tbx_Genre.Text = _stream_TagInfo.genre
    14. tbx_Year.Text = _stream_TagInfo.year
    15. tbx_Bitrate.Text = CStr(_stream_TagInfo.bitrate)
    16. tbx_Frequenz.Text = CStr(_stream_TagInfo.channelinfo.freq)
    17. tbx_Channels.Text = CStr(_stream_TagInfo.channelinfo.chans)
    18. End Sub


    Du musst das halt bissel an deine Umgebung anpassen.