gpt4 book ai didi

html - 使用 html5 时,为什么 Firefox 将服务器提供的 wav 轨道长度设置为 6 :45:48 duration

转载 作者:行者123 更新时间:2023-12-02 20:19:34 25 4
gpt4 key购买 nike

当使用 html5 时,为什么 Firefox 将 wav 跟踪服务服务器的长度设置为 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>

如果 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 开始播放后所做的那样)

编辑

按照阿尔伯特的建议,我设置了预加载和控件的顺序,并设置了音频的 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>

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

这是一个例子:

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

enter image description here

最佳答案

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

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

关于html - 使用 html5 时,为什么 Firefox 将服务器提供的 wav 轨道长度设置为 6 :45:48 duration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51730034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com