【问题标题】:Stream Ogg File流式传输 Ogg 文件
【发布时间】:2011-02-03 00:17:31
【问题描述】:

有谁知道如何流式传输 Ogg 文件,而无需先通过 Socket(字节 [] 格式)完全下载它们。

我正在尝试创建一个音乐流媒体应用程序,并且我设法使用 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 文件吗?

【问题讨论】:

标签: c# streaming audio oggvorbis


【解决方案1】:

包装器很薄,它直接调用原生的ogg编解码器函数。查找 ov_read 的文档以查看您从 OggVorbisEncodedStream.Read() 获得的信息。原始 PCM 将是我的猜测。包装器不会尝试任何类型的格式转换。

是的,SoundPlayer 在这里不起作用,它需要 wav 并且不能流式传输。您需要一个可以将 PCM 块作为输入的播放器。不知道那是什么,NAudio project 通常适合这样的东西。

【讨论】:

    【解决方案2】:
    string filePath = "License.lic";
    
    using (var stream = new StreamReader(filePath))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多