WebRadio aus XBMC Hauptmenu starten

Will man unter XBMC WebRadios hören braucht man nicht unbedingt das Shoutcast oder ListenLiveEU-Plugin. Diese Plugins werden nur benötigt um die verfügbaren Radiostreams „bequem“ zu browsen. Hat man ersteinmal seine „bevorzugten“ Radios gefunden, will man diese nicht ständig neu suchen, sondern „per Knopfdruck“ starten.

Um das zu bewerkstelligen muss man erstmal eine Playlist erstellen die alle gewunschten Webstreams entällt. Unterstützte Formate sind:PLS und M3U. Hat man diese Datei einmal erstellt muss man sie unter ~/.xbmc/userdata/playlists/ ablegen. Beispiel-Datei:


File1=http://stream1.wazee.org:8000/wazee.mp3
Title1=[radio.wazee] Chicago
Length1=-1

File2=http://69.163.209.221:8000/
Title2=[radio.wazee] Los Angeles
Length2=-1

File3=http://radio.addictedtotheinter.net/wazee.mp3
Title3=[radio.wazee] Chicago
Length3=-1

File4=http://69.163.34.214/
Title4=[radio.wazee] Portland
Length4=-1

File5=http://209.188.16.85/
Title5=[radio.wazee] Phoenix
Length5=-1

NumberOfEntries=5

Version=2

Hat man das erledigt, kommt es zum spannenden Teil: das anpassen des Skins. Jeh nach Installationsart findet man die Skins entweder unter „/usr/share/xbmc/addons/skin.*“ oder unter „~/.xbmc/addons/skin.*“. Im Skinordner selber gibt es unterschiedliche Ordner, ein oder mehrere sind nach einer auflösung benannt: 720p,1080p,… Den Wunschordner davon öffnen und die Home.xml aufmachen. Jetzt wird es kryptisch. In XBMC wird fast ausschließlich mit referencen, statt mit festen Strings gearbeitet. Ergo bringten einen das suchen nach einem String nicht weit. Die Funktionsaufrufe („onclick“) sind jedoch gut lesbar, und wer es ganz genau braucht, kann die strings in der /usr/share/xbmc/language/*/strings.xml nachschlagen und nach der gewünschten ID suchen. Will man z.B Beim Confluence-Skin im SubMenü zur Musik den Eintrag WebRadio, muss das so aussehen:

  ButtonHomeSubCommonValues
  
  ActivateWindow(MusicFiles)



  ButtonHomeSubCommonValues
  
  ActivateWindow(musicfiles,special://musicplaylists/WebRadio.pls,return)

  ButtonHomeSubCommonValues
  
  ActivateWindow(MusicLibrary)
  Library.HasContent(Music)

Anschließend wird beim klick auf diesen Button die Playlist geladen und man kann den Wunschsender auswählen