我正在使用 jPlayer 显示 mp3 文件的音频播放器,并且持续时间字段显示00:00
,直到我点击播放按钮,然后它在播放时显示正确的持续时间。(请注意,这是与此类似问题不同的症状。)
如何让 jPlayer在用户点击播放按钮之前获取并显示持续时间(以便他们知道音频剪辑在决定播放之前有多长)?谢谢。
事实证明,jPlayer 支持 HTML5preload
参数,因此添加preload: 'auto'
到 jPlayer 构造函数选项可以解决此问题并显示轨道持续时间。但是,这也会下载整个音频文件,这很烦人,因为它可能会为用户可能永远不会播放的音轨使用大量带宽。就我而言,情况更糟,因为我有一个包含十几个用户故事的页面,并且该页面会下载所有用户故事。
令人沮丧的是,有一个选项preload: 'metadata'
,听起来它应该完全符合我的要求,即下载轨道元数据而不下载整个文件,但这似乎不起作用。这显然是浏览器应该支持的东西,但还没有。
现在,我将跳过此功能,或者构建一个服务器端片段来检查持续时间并通过单独的 AJAX 调用对其进行流式传输。