gpt4 book ai didi

c# - C#mp3压缩64位

转载 作者:行者123 更新时间:2023-12-02 23:54:13 26 4
gpt4 key购买 nike

http://www.codeproject.com/Articles/5901/C-MP3-Compressor上的文章具有C#32位实现,该实现包装了LAME的32位mp3音频编码器。我尝试下载该源代码并将其转换为64位,然后将其与最新的LAME版本一起使用(例如http://www.rarewares.org/mp3-lame-bundle.php的LAME 3.99.5 64位),但我一直收到错误消息

Arithmetic operation resulted in an overflow.



要使该代码正常工作需要采取什么措施的任何想法,或者可能已经适用于64位的替代开源C#解决方案?

最佳答案

我遇到了同样的错误,这为我解决了。将Lame.cs文件中的EncodeChunk方法更改为此:

public static uint EncodeChunk(uint hbeStream, byte[] buffer, int index, uint nBytes, byte[] pOutput, ref uint pdwOutput) {
uint res;
GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
try {
IntPtr ptr = (IntPtr)(handle.AddrOfPinnedObject() + index);
res = beEncodeChunk(hbeStream, nBytes / 2/*Samples*/, ptr, pOutput, ref pdwOutput);
} finally {
handle.Free();
}
return res;
}

它被强制转换为Int32,但地址空间太大。

关于c# - C#mp3压缩64位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19460395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com