错误的 .wav 格式录制音频 NAudio 库
Posted
技术标签:
【中文标题】错误的 .wav 格式录制音频 NAudio 库【英文标题】:wrong .wav format recording audio NAudio library 【发布时间】:2014-03-22 18:32:15 【问题描述】:我在我的 wpf 应用程序中尝试从麦克风录制声音时遇到问题。这是我的代码:
public NAudio.Wave.WaveFileWriter wav_writer = null; // snemanje
public WaveIn strim;
private void snemanje_Click(object sender, RoutedEventArgs e)
strim = new WaveIn();
strim.WaveFormat = new WaveFormat(44100, 0);
SaveFileDialog svg = new SaveFileDialog();
svg.Filter = "*WAV File (*.wav)|*.wav;*";
svg.ShowDialog();
strim.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
wav_writer = new WaveFileWriter(svg.FileName, strim.WaveFormat);
strim.StartRecording();
public void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
wav_writer.WriteData(e.Buffer, 0, e.BytesRecorded);
wav_writer.Flush();
一切正常,文件保存在项目位置,但我无法打开它。它说它是一个波形文件,但每次我想播放它时,它都说我必须找到以该格式播放的编解码器(但没有任何)。
【问题讨论】:
它不起作用..不知道为什么..如果我记录例如 4s 的文件大小 iz 487kb,我猜没关系.. 【参考方案1】:不要创建具有 0 个通道的 WaveFormat。单声道应使用 1,立体声应使用 2。
// create a mono 44.1kHz wave format
new WaveFormat(44100, 1);
【讨论】:
以上是关于错误的 .wav 格式录制音频 NAudio 库的主要内容,如果未能解决你的问题,请参考以下文章
ExtAudioRecorder:“写入失败:EBADF(错误文件描述符)”将音频录制到 WAV 文件 - Android Studio