2

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

4

2 回答 2

1

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

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

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

另请参阅带有代码片段的相邻线程:Ogg to Riff/Wave encoding with acm

于 2011-09-30T08:40:30.393 回答
0

如何在 C# 中使用 Ogg Vorbis 数据将 Ogg 文件移动到 Wav 文件

    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);
                }
            }
        }
    }
于 2014-04-10T10:14:07.587 回答