使用html5时,为什么 Firefox 将WAV跟踪servby服务器的长度设置为6:45:48持续时间,即超过6个小时。
当我使用preload = none
并将音频作为来自服务器的字节流发送时,就会发生这种情况
<audio controls="controls" preload="none">
<source src="/fixsongs.play_music?url=E:\TestMusic\TestMusic\WAV\Music\Choir of Trinity College\Carols From Trinity\01 - Wachet Auf.wav">
</audio>
如果Firefox以本地文件的形式直接访问文件
<audio preload="none" controls="controls">
<source src="file:/E:/TestMusic/TestMusic/WAV/Music/Choir%20of%20Trinity%20College/Carols%20From%20Trinity/01%20-%20Wachet%20Auf.wav">
</audio>
它显示正确的长度。
请注意,在两种情况下它实际上都可以播放文件,但是为什么它不能显示正确的长度或至少选择一个更好的默认值。
我尝试过使用 Windows Edge ,并且工作正常,开始播放需要一些时间,但显示正确的持续时间。
我尝试过使用 Google Chrome ,这也可以通过避免问题并且不显示长度来实现
我尝试使用Mp3而不是Wavs,并且在 Firefox 上还可以。
是否可以解决此问题,或者可以隐藏持续时间位(就像Chrome在开始播放时一样)
修改
正如Albert所建议的那样,我已经设置了预加载和控件的顺序,并且具有音频的模仿性,但这没什么区别。
<audio preload="none" controls="controls">
<source type="audio/wav" src="/fixsongs.play_music?url=E:\TestMusic\TestMusic\WAV\Music\David Ferrard\Across The Troubled Wave\13 - Hard Times Come Again No More.WAV">
</audio>
但是我不清楚我是否在服务器上做过什么,我看不到如何设置响应的模仿类型,因为我只是以一系列字节的形式返回文件的内容。
这里是一个例子:
页面首次加载时间显示为0:00(因为我的预加载设置为none),但是当您单击每个文件播放时,时间更改为6:45:48,所有歌曲均会正确播放,但显示的是总时间错了。