gpt4 book ai didi

audio - 调试NAudio MP3的阅读区别?

转载 作者:行者123 更新时间:2023-12-03 02:27:36 25 4
gpt4 key购买 nike

我使用NAudio读取一个特定MP3的代码得到的结果与其他几个商业应用程序不同。

具体来说:基于我的NAudio的代码在“可听音频”(鼓拾音器)开始之前,在此MP3开头发现约1.4秒的静音,而其他应用程序(Windows Media Player,RealPlayer,WavePad)在此之前约2.5秒的静音那个鼓拾音器

特定的MP3是从Amazon.com下载的“像滚石一样”。测试了其他几款MP3,但没有发现我的代码与其他应用之间有任何相似的区别。大多数MP3都不以这么长的沉默开始,因此我怀疑这是差异的根源。

调试问题:

  • 我什至无法找到一种方法来证明其他应用程序是正确的,而NAudio / me是错误的,即将我的代码结果与“已知的良好引用实现”逐块进行比较;因此,我什至无法精确定义需要调试的“错误”。
  • 由于我的代码在1.4秒内读取了数千个样本,而没有明显错误,因此我无法考虑如何缩小输入流中的位置/时间以查找错误。
  • NAudio代码的核心是对acmStreamConvert()的P / Invoke调用,这是Windows的“黑匣子”调用,我不认为该如何进行错误检查。

  • 任何人都可以想到任何技巧或技术来调试此吗?

    最佳答案

    NAudio ACM代码最初从未用于MP3,而是用于解码恒定比特率的电话编解码器。有一天,我尝试设置WaveFormat以将MP3指定为实验,结果听起来不错。但是,我一直对使用ACM解码MP3(尤其是VBR)感到有些紧张(例如,如果ID3标签或专辑封面通过,会发生什么?这可能会导致额外的静音吗?),我从来没有100%坚信NAudio会做到正确-很少有文档说明您应该如何正确使用ACM编解码器。可悲的是,没有可在NAudio中使用的具有许可证的托管MP3解码器,因此ACM暂时仍是唯一的选择。

    我不确定其他媒体播放器将采用哪种方法来播放MP3,但是我怀疑其中许多媒体拥有自己的内置MP3解码器,而不是依赖于操作系统。

    关于audio - 调试NAudio MP3的阅读区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2838655/

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