Skip to content

An alternate livestream radio player to listen to SRG radio stations using their livestreams. (work in progress)

Notifications You must be signed in to change notification settings

pd95/MySwissRadio

Repository files navigation

MyRadio

App icon

An alternate livestream radio player to listen to SRG radio stations using their livestreams. Access to the SRG SSR API requires a valid API key and secret (see Config.xcconfig) which can be obtained from the SRG SSR developer portal.

Another interesting learning project covering the following topics:

  • SwiftUI
  • Combine
  • REST API using OAuth authentication
  • AVFoundation/AVKit for a custom audio player and "Now Playing" & remote control
  • Spotlight
  • iOS Extensions
    • Siri extension
    • Widget extension
  • Settings bundle
  • App groups to share data between main app and extensions

Impressions

iPhone

Components

Main parts

  • MyRadio App, MyRadio Widget, MyRadio Siri Intents
  • SRGSSR REST API Server: api.srgssr.ch
    • OAuth
    • Request livestreams, mediaComposition
  • Image Server: e.g. ws.srf.ch
  • Livestream Data Server: lsaplus.swisstxt.ch/audio/

UI/Views

  • MyRadioApp
  • ContentView
  • LivestreamRow
  • WhatsPlayingToolbar
  • PlayingSheet

Model / Controller

  • MyRadioModel
  • AudioController
  • ImageCache
  • Livestream
  • LivestreamStore
  • BusinessUnit
  • SettingsStore

Networking / API Service

  • OAuthenticator
  • NetworkClient
  • SRGService

About

An alternate livestream radio player to listen to SRG radio stations using their livestreams. (work in progress)

Resources

Stars

Watchers

Forks

Languages