Frage

Wer weiß, wie Ogg-Dateien zu streamen, ohne sie vollständig sie zuerst über einen Socket (in byte [] Format) heruntergeladen werden.

Ich versuche, eine Musik-Streaming-Anwendung zu erstellen, und ich schaffte es mit MP3 zu tun, aber ich verstehe, gibt es Probleme, die nach bestimmten Grenze invovled Lizenzierung also warum ich will OGG (Vorbis) verwenden. Ich maanged finden diese C # Vorbis Wrapper aber keine Dokumentation, und ich kann nicht herausfinden, wie ein Byte bekommen [ ] spielen streamen.

Ich habe versucht, die folgenden

        var rawData = File.ReadAllBytes(@"SoundFile.ogg");
        var enc = new OggVorbisEncodedStream(rawData);
        var sp = new SoundPlayer(enc);
        sp.Play();

Aber eine Ausnahme ausgelöst wird zeigen, dass die Wav-Datei-Header nicht korrekt ist. Ich verstehe Soundplayer nur verwendet wird, für .wav-Dateien zu spielen? Weiß jemand, wie man eine OGG-Datei streamen?

War es hilfreich?

Lösung

Der Wrapper ist ein sehr dünner ein, ruft sie direkt die nativen ogg-Codec-Funktionen. Geben Sie für die Dokumentation von ov_read, um zu sehen, was man von OggVorbisEncodedStream.Read zurück (). Raw PCM würde meine Vermutung. Der Wrapper nicht versucht, jede Art von Formatumwandlung.

Ja, Soundplayer wird hier nicht funktionieren, bedarf es wav und nicht streamen. Sie werden einen Spieler müssen die Stücke von PCM als eine Eingabe erfolgen kann. Nicht sicher, was das tut, der NAudio Projekt für Sachen wie diese in der Regel gut.

Andere Tipps

string filePath = "License.lic";

using (var stream = new StreamReader(filePath))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top