首页 文章

为什么我重新录制的音频文件会播放花栗鼠语音?

提问于
浏览
-1

我使用NAudio 1.72项目来录制新的音频文件并编辑现有的wav文件 . 我注意到每当我打开一个172kbps的wav文件并记录部分文件时,播放听起来就像一只花栗鼠 .

新录制的wav文件显示比特率为128kbps . 而且我没有发现使用128kbps的wav文件的花栗鼠问题 . 有人认为这是一个问题,因为比特率不匹配?

我该如何解决这个问题?

请注意:我在C#编码,使用NAudio项目参考来记录和编辑wav文件 . 我使用WPF mediaelement来播放任何wav文件 .

1 回答

  • -1

    好吧,经过一番探索,我觉得这有点帮助 . 我恐怕还有回归问题 . 仍在努力使以下战略更好地运作 .

    虽然以下方法将176kbps的wav文件转换为128kbps并且播放效果良好,但应用程序崩溃了 .

    private string OpenMedia(string filename)
        {
            using (var reader = new WaveFileReader(filename))
            {
                int bitrate = reader.WaveFormat.AverageBytesPerSecond * 8;
                if (bitrate > 128000)
                {
                    MessageBox.Show("This wav file has a bit rate higher than 128 kbps : " +
    
        bitrate);
    
                    int channel = reader.WaveFormat.Channels;
                    if (channel > 1)
                    {
                        MessageBox.Show("This wav file was not created in Mono channel : " +
    
        channel);
                    }
                    int samplerate = reader.WaveFormat.SampleRate;
                    if (samplerate > 8000)
                    {
                        MessageBox.Show("This wav file has a sample rate > 8000 : " + samplerate);
                        var newFormat = new WaveFormat(8000, 16, 1);
                        using (var conversionStream = new WaveFormatConversionStream(newFormat,
    
        reader))
                        {
                            WaveFileWriter.CreateWaveFile(filename, conversionStream);
                        }
                    }
                }
            }
            return filename;
        }
    

相关问题