gpt4 book ai didi

c# - 如何将 RIFF block 数据写入使用 NAudio 制作的 WAV 文件?

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:32 25 4
gpt4 key购买 nike

如何将 RIFF block 数据写入 WAV 文件的结尾?是的,没错,写入 WAV 文件的结尾。为什么?因为我要替换的旧程序就是这样做的,集成程序就是这样准备的,它们不能被修改。

最佳答案

我个人会使用 BASS.NET ,它确实处理 RIFF ICMT 标签。

EncoderWAV 类提供允许它的 WAV_AddRiffInfo 属性。

// re-encodes a file and adds a comment to it.    
var init = Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero);
if (init)
{
int channel = Bass.BASS_StreamCreateFile("filename", 0, 0, BASSFlag.BASS_STREAM_DECODE);
var tagInfo = new TAG_INFO { comment = "your comment" };
var encoderWav = new EncoderWAV(channel);
encoderWav.WAV_AddRiffInfo = true;
encoderWav.TAGs = tagInfo;
encoderWav.OutputFile = "output.wav";
var start = encoderWav.Start(null, IntPtr.Zero, false);
Bass.Free();
}

注意:不要忘记将 bass.dll 放在您的 .EXE 所在的位置

(起初 BASS 是一个 C 库,BASS.NET 为它提供了一个包装器,但也提供了许多原始库中没有的很酷的东西,例如编码器、可视化器等......)

IMO BASS.NET 是 .NET 最好的音频库,尤其是低级的东西,实际上这是唯一的:-)

关于c# - 如何将 RIFF block 数据写入使用 NAudio 制作的 WAV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15820043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com