我的代码使用NAudio来读取一个特定的MP3获得不同的结果比其他几个商业应用程序。调试NAudio MP3读数差异?
具体来说:我的基于NAudio的代码发现,在开始播放“可听音频”(鼓拾音器)之前,此MP3的开头会有〜1.4秒的静音,而其他应用程序(Windows Media Player,RealPlayer,WavePad)在同一个鼓拾音器之前的静音秒。
特殊的MP3是“像滚石”从Amazon.com下载。测试了其他几个MP3,没有发现我的代码和其他应用程序有任何类似的区别。大多数MP3不是以这么长时间的沉默开始的,所以我怀疑这是差异的根源。
调试问题:
我不能真正找到一种方法,甚至证明其他应用程序是正确的,n音讯/我是错的,也就是比较块逐块我的代码的结果一个“已知的良好参考实施”;因此我甚至无法精确定义我需要调试的“错误”。由于我的代码在1.4秒内读取了数千个样本,没有明显的错误,所以我无法考虑如何缩小输入流中何处/何时寻找错误。
NAudio代码的核心是对acmStreamConvert()的P/Invoke调用,这是一个Windows“黑匣子”调用,我无法考虑如何进行错误检查。
任何人都可以想到的任何技巧/技术调试这个?
谢谢你的背景。所以我不会期望从n音讯MP3解码太多,但它仍然把我远胜从头开始盘算这一切我自己,我还是不知道更好的方式来为低预算的商业应用解码MP3。 – 2010-05-16 15:09:31