iO 中 HTML5 音频元素的持续时间值存在问题

发布于 2024-12-02 01:03:26 字数 229 浏览 0 评论 0原文

我正在为 iOs 设备开发一个网络应用程序,但 html5 音频标签有问题...... 我设计了一个自定义音频播放器,并使用 JavaScript 函数控制歌曲。 在 safari 桌面版上,该应用程序运行良好,但在 safari 移动版上,它无法识别音频的持续时间;持续时间属性的值为 NaN。 我必须播放、停止和重播音频才能检索正确的值。 可能的原因是 safari 移动设备上禁用了媒体预加载... 有没有办法在第一次拍摄时读取正确的值?

I'm developing a web app for iOs device, but I have a problem with the html5 audio tag...
I designed a custom audio player, and I control the song with javascript functions.
With safari desktop the app works well, but on safari mobile it doesn't recognize the duration of the audio; the value of the duration property is NaN.
I have to play, stop and replay the audio for retrieve the correct value.
Probably the cause is that the media preload is disabled on safari mobile...
Is there a way to read the correct value at the first shot?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

司马昭之心 2024-12-09 01:03:26

这是 iOS 中的一个错误...即使在 onloadedmetadata 事件上调用的函数内部,您仍然可能会得到 NaN

就我而言,当用户选择新的 mp3 并且代码动态设置 src 属性时,这种情况会随机发生。音频播放得很好,但有时,持续时间会返回 NaN,从而搞乱任何依赖于该值的进度指示器。

This is a bug in iOS... even inside the function that gets called on the onloadedmetadata event, you MAY STILL get NaN.

In my case, this happens at random when the user selects a new mp3 and the code dynamically sets the src property. The audio plays fine, yet SOMETIMES, the duration returns NaN, screwing up any progress indicator that depends on that value.

偷得浮生 2024-12-09 01:03:26

此事件触发后,元数据可用:

 loadedmetadata

更多信息

https://developer.mozilla.org/en/Introducing_the_Audio_API_Extension

The medata is available after this event has fired:

 loadedmetadata

More info

https://developer.mozilla.org/en/Introducing_the_Audio_API_Extension

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文