有没有人知道如何在不完全下载Ogg文件的情况下通过套接字(以byte[]格式)下载这些文件。
我正在尝试创建一个音乐流媒体应用程序,我设法使用MP3的,但我知道在一定的限制后,存在许可问题,因此我想使用OGG(Vorbis)。我费了很大劲才找到this C# Vorbis Wrapper,但没有文档,我也不知道如何让byte[]流播放。
我尝试过以下几种方法
var rawData = File.ReadAllBytes(@"SoundFile.ogg");
var enc = new OggVorbisEncodedStream(rawData);
var sp = new SoundPlayer(enc);
sp.Play();但是会抛出一个异常,表明Wav文件头不正确。我知道SoundPlayer只用来播放.wav文件?有人知道如何流传输一个OGG文件吗?
发布于 2010-04-01 01:16:10
包装器非常薄,它直接调用原生ogg编解码器函数。查看ov_read的文档,看看您从OggVorbisEncodedStream.Read()中得到了什么。原始的PCM可能是我的猜测。包装器不会尝试任何类型的格式转换。
是的,SoundPlayer不能在这里工作,它需要wav并且不能流媒体。你需要一个可以接受PCM块作为输入的播放器。不知道什么能做到这一点,NAudio project通常对这样的东西很好。
发布于 2015-06-04 22:53:11
string filePath = "License.lic";
using (var stream = new StreamReader(filePath))https://stackoverflow.com/questions/2554479
复制相似问题