【问题标题】:How to pack OGG audio file to RIFF container?如何将 OGG 音频文件打包到 RIFF 容器中?
【发布时间】:2011-11-28 07:09:58
【问题描述】:

我有一个 ogg 音频文件和一些保存为字节序列的信息。我需要将此音频和信息打包在一个容器中,例如 RIFF 或其他容器。我正在寻找可以在 .NET 下编写的解决方案。

【问题讨论】:

    标签: c# .net audio ogg riff


    【解决方案1】:

    Ogg 是一种容器格式。您可能想要的是使用一些 Ogg 格式工具将您的数据直接附加到现有文件,或者将数据重新流式传输到不同的容器格式,您可以在其中使用工具将数据附加到。

    格式可能是 WAV/RIFF、Matroska、MP4。它还可能取决于这些附加数据到底是什么,更像是缩略图或附加流(带有时间戳的用户 cmets 等)。

    在 .NET 中进行此类操作的一个流行框架是 DirectShow.NET 库,但当您明确需要时,您最终可能会使用不同的工具。

    另请参见代码为 sn-p 的相邻线程:Ogg to Riff/Wave encoding with acm

    【讨论】:

      【解决方案2】:

      How to move Ogg file to Wav file with Ogg Vorbis data in C#

          static void OggToWavWithOgg()
          {
              string fileName = @"e:\Down\fortuna.ogg";
              using (DsReader dr = new DsReader(fileName))
              {
                  if (dr.HasAudio)
                  {
                      short oggFormatTag = 26479;
                      IntPtr format = dr.ReadFormat();
                      WaveFormat waveFormat = AudioCompressionManager.GetWaveFormat(format);
                      IntPtr formatOgg = AudioCompressionManager.GetCompatibleFormat(format, oggFormatTag);
                      using (WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"),
                          AudioCompressionManager.FormatBytes(formatOgg)))
                      {
                          AudioCompressionManager.Convert(dr, ww, true);
                      }
                  }
              }
          }
      

      【讨论】:

        猜你喜欢
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        • 2013-05-07
        • 2014-10-01
        • 2017-09-27
        • 2021-02-11
        • 2019-12-08
        • 1970-01-01
        相关资源
        最近更新 更多