gpt4 book ai didi

c# - 如何使用 NAudio 对内存中的音频流 (byte[]) 进行重采样?

转载 作者:行者123 更新时间:2023-11-30 16:59:05 27 4
gpt4 key购买 nike

我想将音频字节数组从 8Khz 重采样到 48Khz。音频流作为 byte[] 从网络套接字中获取。

阅读 Mark Heath's Blog about resampling using NAudio ,我遇到了以下代码

int outRate = 16000; 
var inFile = @"test.mp3";
var outFile = @"test resampled WDL.wav";
using (var reader = new AudioFileReader(inFile))
{
var resampler = new WdlResamplingSampleProvider(reader, outRate);
WaveFileWriter.CreateWaveFile16(outFile, resampler);
}

但此代码作用于文件流 (AudioFileReader) 而不是内存数据 (byte[])。我如何修改此代码以对我的字节数组进行上采样?

编辑:基本上我想将从网络对等点获得的 8 KHz 数据上采样到 48 KHz 并使用 WASAPI 播放。

最佳答案

您对重采样器的输入可以是 BufferedWaveProviderRawSourceWaveStream。但是,您不能使用 CreateWaveFile16 实时重新采样。您只需读取您希望可用的音频量并将其写入 WAV 文件。

关于c# - 如何使用 NAudio 对内存中的音频流 (byte[]) 进行重采样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303261/

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