audio.currentTime 在 IE9 中不起作用

发布于 2024-11-16 15:24:44 字数 307 浏览 3 评论 0原文

我真的不明白为什么下面的代码似乎在除 IE9 之外的每个浏览器中都有效:

    var audio = $("audio.laser").get(0);
    if (audio != null && audio.canPlayType) {
        audio.pause();
        audio.currentTime = 0;
        audio.play();
    }

奇怪的是,它冻结在“audio.currentTime = 0”,说“currentTime 未定义”。

I really don't see why the following code seems to work in every browser except IE9:

    var audio = $("audio.laser").get(0);
    if (audio != null && audio.canPlayType) {
        audio.pause();
        audio.currentTime = 0;
        audio.play();
    }

Strangely, it freezes at "audio.currentTime = 0", saying "currentTime is undefined".

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

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

发布评论

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

评论(2

情场扛把子 2024-11-23 15:24:44

不遵守标准是网络重罪,而 IE9 则是屡犯者。音频对我来说似乎是只读的。

仅支持此处的内容:
http://msdn.microsoft.com/library/ff975061.aspx

Failure to comply with standards is a web-felony, and IE9 is a repeat offender. Audio looks like it's read-only to me.

Only the things here are supported:
http://msdn.microsoft.com/library/ff975061.aspx

追我者格杀勿论 2024-11-23 15:24:44

需要尝试的几件事是将:

audio.currentTime = 0;

替换为

audio.currentTime = 0.1;

如果仍然出现相同的错误,您可以尝试将其替换为:

audio.load();

但请注意,load() 不能很好地处理“结束”事件。我不明白其中的原因。

A couple things to try would be to replace:

audio.currentTime = 0;

with

audio.currentTime = 0.1;

If that still gives you same error you could try replacing it with:

audio.load();

But be aware that load() does not play nicely with the "ended" event. The reason for this escapes me.

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