- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几个月来我一直试图解决这个问题......
在 Flash 9 中,我尝试加载流式 MP3 文件并计算其轨道长度。我可以做到这一点,但是当 mp3 的 channel 是单声道时,时间是原始音轨长度的两倍。我是怎么想出来的?好吧,我通过在 Windows 上录制到 Sound Recorder 来测试我的播放器,但幸运的是,我忘了用立体声录制 MP3。
现在,在 Flash 中,我尝试使用加载的字节数、总字节数、播放位置和所有您可能想到的公式来计算持续时间。数学很好。问题是当 Flash 加载 mp3 时,它会自动假定文件是立体声的。因此,当它加载数据时,它会继续并将其认为拥有的字节量加倍,因为它识别出一个特定大小的 channel ,然后将其加倍以获得立体声。这会产生负载大小的错误值,通过正确的数学运算,仍然会使轨道长度加倍。这就是为什么单声道不适用于我们使用的常用公式。
为了解决这个问题,我需要一种方法来确定文件是单声道还是立体声。不,ID3 数据也返回错误的值,我已经尝试使用 soundTransform.leftToLeft、soundTransform.leftToRight、soundTransform.rightToLeft 和 soundTransform.rightToRight 手动确定(它返回立体声值)。
我不知道有什么方法可以让 Flash 正确地告诉你文件有哪些音频 channel 。我希望我只是忽略了一些东西,任何帮助或故障排除提示,无论我是否已经尝试过,都将不胜感激。
最佳答案
你确定ID3是正确的?
我有几个 mp3 报告长度错误,不是因为立体声/单声道问题,而是因为 header 损坏。
关于闪存 9 : How to determine if a streaming track is mono?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/605748/
我是一名优秀的程序员,十分优秀!