audio.duration 是真实属性值的2倍
4秒音频获取到的事8.xxxxx5秒音频获取到的是10.xxx
<audio controls> <source src=""> </audio>
chrome 下存在这个问题
IE 下面获取的属性值是正常的。
学习是最好的投资!
求解答:我在电脑上加载音频时长为29.75464534秒, 而用手机访问同一个地址,返回的15.345345... 秒。什么原因导致加载的duration不同?
AUDIO = document.getElementById('audio') AUDIO.addEventListener('loadeddata', () => { console.log('声音加载好了222') var second = Math.floor(AUDIO.duration) }, false)
刚刚找到原因了: 是因为压缩问题。 原本5兆的wav文件, 经过格式工厂压缩和转换成mp3格式反复压缩几遍之后,成了200kb左右的mp3文件。压缩太厉害了,会失真。导致时长计算不准确。压缩不能压太厉害了。保留中等品质是没问题的。
求解答:
我在电脑上加载音频时长为29.75464534秒, 而用手机访问同一个地址,返回的15.345345... 秒。
什么原因导致加载的duration不同?
刚刚找到原因了: 是因为压缩问题。 原本5兆的wav文件, 经过格式工厂压缩和转换成mp3格式
反复压缩几遍之后,成了200kb左右的mp3文件。
压缩太厉害了,会失真。导致时长计算不准确。
压缩不能压太厉害了。保留中等品质是没问题的。