没有人知道如何以流Ogg文件而无需首先完全下载它们通过套接字(在字节[]格式)。

我想创建一个音乐流应用和我的管理符合MP3的做,但我知道有牌照因此为什么我要使用OGG(Vorbis格式)一定限度后invovled问题。我maanged找到这个C#Vorbis的包装但没有文件,我无法弄清楚如何让一个byte [ ]流播放。

我曾尝试以下

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

但一个例外得到投掷表示WAV文件标头不正确。我明白了声音播放,仅用于播放.wav文件?没有任何人知道如何流式OGG文件?

有帮助吗?

解决方案

该包装是非常薄的一个,它直接调用本地OGG编解码功能。查找的ov_read的文档,看你从OggVorbisEncodedStream.Read得到什么()。原始PCM将是我的猜测。包装器不尝试任何一种格式的转换。

是的,声音播放不会在这里工作,它需要WAV和不能流。你需要一个播放器,可以采取PCM的块作为输入。不知道是什么做的是, n音讯项目是通常比较适合这样的东西。

其他提示

string filePath = "License.lic";

using (var stream = new StreamReader(filePath))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top