开发者

Stream Ogg File

Does anyo开发者_JS百科ne know how to stream Ogg files without fully downloading them first over a Socket(in byte[] format).

I am trying to create a music streaming application and I managed to do it with MP3's but I understand there's licensing issues invovled after certain limit hence why I want to use OGG(Vorbis). I maanged to find this C# Vorbis Wrapper but no documentation, and I cannot figure out how to get a byte[] stream to play.

I have tried the following

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

But an exception gets thrown showing that the Wav file header is incorrect. I understand SoundPlayer is used for only playing .wav files? Does anybody know how to stream a OGG file?


The wrapper is a very thin one, it directly calls the native ogg codec functions. Look for the docs of ov_read to see what you get back from OggVorbisEncodedStream.Read(). Raw PCM would be my guess. The wrapper doesn't attempt any kind of format conversion.

Yes, SoundPlayer won't work here, it requires wav and can't stream. You'll need a player that can take chunks of PCM as an input. Not sure what does that, the NAudio project is usually good for stuff like this.


string filePath = "License.lic";

using (var stream = new StreamReader(filePath))
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜