【问题标题】:wrong .wav format recording audio NAudio library错误的 .wav 格式录制音频 NAudio 库
【发布时间】: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,我猜没关系..

标签: c# audio wav naudio recording


【解决方案1】:

不要创建具有 0 个通道的 WaveFormat。单声道应使用 1,立体声应使用 2。

 // create a mono 44.1kHz wave format
 new WaveFormat(44100, 1);

【讨论】:

    猜你喜欢
    • 2018-04-08
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多