C# Webradio Player

thepro1

Lt. Junior Grade
Registriert
Apr. 2008
Beiträge
411
Hallo liebe Community,

ich arbeite zur Zeit an einem kleinen Musikplayer.
- Oberfläche: WPF
- SoundEngine: irrklang
Bis jetzt bin ich sehr zufrieden was die Funktionalität angeht. Allerdings möchte ich einen Button hinzufügen, der mir ein bestimmtes Webradio wiedergibt:
Entweder per Aufruf der m3u-Datei oder mit direktem link. Ich habe mich durch einige Foren geschlagen und der einzigste nützliche Ansatz war das überschreiben der Klasse IFileFactory, was ich nicht wirklich verstehe. Und so wie ich es mir erarbeitet habe funktioniert es leider nicht:
Code:
FileStream fs = new FileStream("http://onair.krone.at:80/kronehit-hd.mp3", FileMode.Open);
ISoundSource iss = engine.AddSoundSourceFromIOStream(fs, "TestStream");
engine.Play2D(iss, false, false, false);
Da der FileStream keine URI-Formate akzeptiert.

Weiß jemand einen Stream der URI-Formate akzeptiert oder weiß jemand eine Andere Lösung?
 
Das sollte klappen:
Code:
System.Net.WebClient wc = new System.Net.WebClient();
Stream fs = wc.OpenRead(@"http://onair.krone.at:80/kronehit-hd.mp3");
ISoundSource iss = engine.AddSoundSourceFromIOStream(fs, "TestStream");
engine.Play2D(iss, false, false, false);
 
thepro1 schrieb:
Danke :) funktioniert aber nicht.
die Funktion unterstützt keine Suchfunktion

Was bitte ? Das ist ein Stream, da kann man nicht vor/zurückspringen ... :p

Edit: Öffne die URL mal z.B in WinAmp, dann siehst Du was ich meine ..
 
Aha .. irrklang will den Stream erst komplett einlesen, keine Ahnung warum die das so kompliziert machen, so gehts:
Code:
public class Streamer: IFileFactory {
  public Streamer() {
  }
  public Stream openFile(String filename) {
    return (filename.StartsWith(@"http://")) ? new System.Net.WebClient().OpenRead(filename) : null;
  }
}

engine.AddFileFactory(new Streamer());
ISound isnd = engine.Play2D(@"http://onair.krone.at:80/kronehit-hd.mp3");
 
Zuletzt bearbeitet:
- Das VLC Plugin kann Streams abspielen. Dadurch wird die Software aber OpenSource.
- Schon GEZahlt?
 
Zurück
Oben