Radio

You're now listening to an FM radio station!

BassBoom provides you with the Internet radio features, such as playing them and getting information about your favorite radio station. You can use the FileTools.OpenUrl() function to open the MPG123 handle to the radio station URL, assuming that said station uses MPEG and not AAC or other formats. Use the PlaybackTools.Play(), as usual, to play the radio station.

If you want to get your favorite internet radio station's information, you can use the GetRadioInfo function from the RadioTools class in the BassBoom.Basolia.Radio namespace.

Afterwards, you can call either Refresh() or RefreshAsync() to fetch the following info from the server:

  • ServerHost

    • Server IP address

  • ServerPort

    • Server port used by Shoutcast

  • ServerHostFull

    • Server IP address with port

  • ServerHttps

    • Whether the Shoutcast server is using HTTPS or not

  • ServerType

    • Radio server type

  • ServerVersion

    • [SHOUTcast] Server version (1.x, 2.x)

  • TotalStreams

    • Total number of streams in the server

  • ActiveStreams

    • Active streams in the server

  • CurrentListeners

    • How many people are listening to the server at this time?

  • PeakListeners

    • How many listeners did the server ever get at peak times?

  • MaxListeners

    • [SHOUTcast] How many people can listen to the server?

  • UniqueListeners

    • [SHOUTcast] How many unique listeners are there?

  • AverageTime

    • [SHOUTcast] Average time on any active listener connections in seconds

  • AverageTimeSpan

    • [SHOUTcast] Average time on any active listener connections in the time span

  • Streams

    • Available streams and their statistics

Stream information class, StreamInfo, contains the following variables:

  • StreamId

    • Stream ID starting from number one (1)

  • CurrentListeners

    • How many people are listening to the stream at this time?

  • PeakListeners

    • How many listeners did the stream ever get at peak times?

  • MaxListeners

    • [SHOUTcast] How many people can listen to the stream?

  • UniqueListeners

    • [SHOUTcast] How many unique listeners are there?

  • AverageTime

    • [SHOUTcast] Average time on any active listener connections in seconds

  • AverageTimeSpan

    • [SHOUTcast] Average time on any active listener connections in the time span

  • StreamGenre -> StreamGenre5

    • The stream genre

  • StreamHomepage

    • Link to the stream homepage

  • StreamTitle

    • Stream title

  • SongTitle

    • Song title

  • StreamHits

    • [SHOUTcast] Stream hits

  • StreamStatus

    • [SHOUTcast] Stream status

  • BackupStatus

    • [SHOUTcast] Backup stream status

  • StreamListed

    • Is the stream listed?

  • StreamPath

    • Path to stream

  • StreamUptime

    • [SHOUTcast] Stream uptime in seconds

  • StreamUptimeSpan

    • [SHOUTcast] Stream uptime in the time span

  • BitRate

    • Stream bitrate in kbps

  • SampleRate

    • [SHOUTcast] Sampling rate in Hz

  • MimeInfo

    • MIME info for stream, usually audio/mpeg.

You can use this library to make an application that fetches info from your Shoutcast server for analytical purposes.

For web development and other cases where asynchronous code is acceptable, use the Async version of the functions as outlined in the beginning of this page to avoid blocking the main thread.