【问题标题】:I Want to read the audio data, but there is an unhandled exception我想读取音频数据,但是有一个未处理的异常
【发布时间】:2015-02-22 18:42:46
【问题描述】:

我的代码是这样的:

private void btnStart_Click(object sender, EventArgs e)
    {
        txtAnalisa.Text = "";
        string filename = txtSampel.Text;
        reader = new WaveFileReader(filename);
        int length = 1000;

        byte[] buffer = new byte[length];

        reader.Read(buffer, 0, length);
        sample = new double[reader.Length];
        for (int n = 0; n < length; n++)
        {
            sample[n] = BitConverter.ToInt32(buffer,n);
            txtAnalisa.Text += n + ". Sampel = " + sample[n] + Environment.NewLine;
        }       
    }

但是当我运行时,有一个未处理的参数异常:

在 mscorlib.dll 中发生了“System.ArgumentException”类型的未处理异常

附加信息:目标数组的长度不足以复制集合中的所有项目。检查数组索引和长度。

我该怎么办?

【问题讨论】:

  • 请用 try {..} catch(){..} 包装您的代码块,并在 Exception 上发布更多数据。

标签: c#


【解决方案1】:

你有一个明确的错误信息:

目标数组不够长

在您的代码中,只有一个具有硬编码大小的数组,即buffer。而且数组不够长。正如 cmets 中所建议的,length 变量应该更大以增加 buffer 容量。

【讨论】:

  • 但我的 wav 文件大小超过 1045 KB。当我使用阅读器长度时: for (int n = 0; n
猜你喜欢
  • 2022-06-17
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 2012-10-25
  • 1970-01-01
相关资源
最近更新 更多