使用 html5 时,为什么 Firefox 将服务器提供的 wav 曲目长度设置为 6:45:48 持续时间

Pau*_*lor 2 html firefox html5-audio bootstrap-4

当使用html5时,为什么Firefox将wav跟踪servby服务器的长度设置为6:45:48持续时间,即超过六个小时。

当我使用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>
Run Code Online (Sandbox Code Playgroud)

如果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>
Run Code Online (Sandbox Code Playgroud)

它显示正确的长度。

请注意,在这两种情况下,它实际上确实可以正常播放文件,但为什么它不能显示正确的长度或至少选择更好的默认值。

我尝试使用Windows Edge,效果不错,开始播放需要一点时间,但会显示正确的持续时间。

我尝试使用Google Chrome,这也可以通过回避问题而不显示长度来解决

我尝试使用 Mp3 而不是 Wavs,这在Firefox上没问题。

有没有办法解决这个问题,或者有没有办法隐藏持续时间位(就像Chrome在开始播放后所做的那样)

编辑

正如阿尔伯特所建议的,我已经设置了预加载和控件的顺序,并且具有音频的 mimetype,但这没有什么区别。

 <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>
Run Code Online (Sandbox Code Playgroud)

但我不清楚我是否在服务器上做了一些事情,我不知道如何设置响应的 mimetype,因为我只是将文件的内容作为一系列字节返回。

这是一个例子:

当页面首次加载时间显示为0:00(因为我将预加载设置为无),但是当您单击每个文件播放时间时,时间更改为6:45:48,所有歌曲都正确播放,但显示的总时间为错误的。

在此输入图像描述

Dip*_*hah 5

通过在 bugzilla 上的快速搜索,我发现这是这里报告的一个已知错误。该错误报告有附件,如果您在 Firefox 中打开它,您将看到右侧的播放器显示的持续时间与您在问题中发布的持续时间完全相同。但是,播放文件后,重新加载页面时问题就会消失,除非清除历史记录,否则下次再次加载页面时会出现问题。

要解决此问题,请确保在提供 wav 文件时从服务器发送内容长度标头。