移动浏览器上的 HTML5 音频持续时间错误,在常规浏览器上运行良好(m4a 文件)
Posted
技术标签:
【中文标题】移动浏览器上的 HTML5 音频持续时间错误,在常规浏览器上运行良好(m4a 文件)【英文标题】:Wrong duration HTML5 audio on mobile browsers, works fine on regular browsers (m4a file) 【发布时间】:2017-03-24 06:03:53 【问题描述】:我正在使用 Savedeo API 获取 youtube 音频文件并尝试在浏览器上播放音频。
当我尝试在常规浏览器上播放纯音频文件 (.m4a) 时,一切正常。但是,当我在我的 iphone(safari 和 chrome)上的移动浏览器上测试它时,音频文件的持续时间增加了一倍。基本上在音频结束后,加了一个padding。
为什么会这样?是否有任何解决方法。如果您需要更多信息,我们很乐意提供。
谢谢
【问题讨论】:
【参考方案1】:我使用 44100 Hz 采样率和 128kb 比特率的 MP3 遇到了这个问题。解决办法是用ffmpeg改变采样率:
ffmpeg -i your.mp3 -ar 22050 your_fixed.mp3
您可以使用 ffprobe 检索有关 MP3 的关键信息:
ffprobe your.mp3
在使用实际 MP3 文件计算持续时间时,iTunes 也会报告错误的持续时间。这很尴尬,因为您会期望 iTunes 得到这样的正确结果。这表明 Apple 用于 MP3 持续时间计算的某些库中存在错误。
【讨论】:
以上是关于移动浏览器上的 HTML5 音频持续时间错误,在常规浏览器上运行良好(m4a 文件)的主要内容,如果未能解决你的问题,请参考以下文章