0

我正在使用这个库从 mp3 中读取字节:

List<byte> bytes = new List<byte>();
try
{
    using (WmaStream str = new WmaStream(mp3File, new WaveFormat(RATE, 8, 1)))
    {
        bytes.Capacity = (int)str.Length * 2;
        byte[] buffer = new byte[str.SampleSize * 2];

        int read;
        while ((read = str.Read(buffer, 0, buffer.Length)) > 0)
        {
            for (int i = 0; i < read; i++)
            {
                bytes.Add(buffer[i]);
            }
        }
    }         
}
catch(Exception e)
{

    Console.WriteLine(e.Message);
}
finally
{                
}

return bytes.ToArray();

问题是它有时会抛出OutOfMemoryException. 我不知道究竟是什么导致了这个问题,但我认为它往往会这样做,尤其是在阅读大型 mp3 文件时。

知道如何解决这个问题吗?

注意:有趣!当我将平台目标更改为 x64 而不是 x86 时,问题消失了!

4

0 回答 0