gpt4 book ai didi

c# - 用于 NAudio 录音的音频电平表

转载 作者:行者123 更新时间:2023-11-30 17:09:48 25 4
gpt4 key购买 nike

我正在使用 NAudio 库将音频录制到 WAV 文件中。我希望能够在样本数据到达时将 ProgressBar 更新为音频电平/音量的值。

public WaveIn Recorder_NAudio;
public WaveFileWriter Writer_NAudio;

public void record()
{
Recorder_NAudio = new WaveIn();
Recorder_NAudio.WaveFormat = new NAudio.Wave.WaveFormat(sampleRate, 1);
Writer_NAudio = new WaveFileWriter(File.Open(tempPath, FileMode.Create), Recorder_NAudio.WaveFormat);

Recorder_NAudio.DataAvailable += new EventHandler<WaveInEventArgs>(Recorder2_DataAvailable);
Recorder_NAudio.StartRecording();
}

void Recorder2_DataAvailable(object sender, WaveInEventArgs e)
{
if (Writer_NAudio != null) if (Writer_NAudio.CanWrite)
{
Writer_NAudio.WriteData(e.Buffer, 0, e.BytesRecorded);

// I need help to create this function
ProgressBar1.value = GetVolumeFromBytes(e.buffer);
}
}

最佳答案

对于 Windows 窗体示例,请查看 NAudioDemo 源代码,特别是 AudioPlaybackPanel类,它使用 MeteringSampleProvider 并订阅其 StreamVolume 事件以设置自定义音量计控件(包含在 NAudio 中)的属性

有关 WPF 示例,请查看 voicerecorder.codeplex.com它使用了类似的技术,音量计量在 this article 中有所描述。 .

关于c# - 用于 NAudio 录音的音频电平表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12556520/

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