【发布时间】:2015-06-08 11:30:59
【问题描述】:
我正在使用 libsndfile(带有 c# 包装器)基于现有的 wav 文件创建 wav/aiff 文件,例如将立体声文件转换为单声道文件,反之亦然。
我的流程是:
- 读取现有文件
- 在填充 LibsndfileInfo 时打开新文件进行写入
-
将项目写入新文件
LibsndfileInfo fInfo = new LibsndfileInfo(); fInfo.Format = info.Format; fInfo.Channels = info.Channels; fInfo.SampleRate = info.SampleRate; IntPtr sndOutFile = api.Open(outfilename, LibsndfileMode.Write, ref fInfo); api.WriteItems(sndOutFile, data, num_items); api.Close(sndOutFile);
在执行此操作时,我注意到原始文件中的任何额外元数据(额外块)都会在结果文件中丢失。
有没有办法以某种方式带来这些额外的块或使用 libsndfile 将标头复制到新文件?
感谢您的任何意见。
迈克
【问题讨论】:
-
只是想看看这个,看看是否有人对此有任何意见。非常感谢。
标签: c# metadata chunks libsndfile