【问题标题】:Call function when sound has ended声音结束时调用函数
【发布时间】:2023-03-27 06:45:01
【问题描述】:

在 JavaScript 中,我有这样的代码:

var sound = new Audio(name);
sound.onended = function () {
  alert("finished");
  }
sound.play();

即sound.play方法完成后,我想提醒它已经完成。这适用于 IE9,但有没有办法在 Chrome 中做到这一点?

我也尝试过类似下面代码的回调,但它不起作用:

sound.play(function () {alert("finished")});

【问题讨论】:

  • 我过去在让onended 在 Chrome 中工作时遇到了麻烦。你并不孤单。

标签: javascript html jquery google-chrome jquery-events


【解决方案1】:

由于您使用的是 jQuery,请考虑使用类似 jPlayer 的内容。它将使您的事件在浏览器中更加容易和一致。它在支持它的浏览器上使用 HTML5 音频,在不支持 HTML5 音频的浏览器上使用 Flash。您也可以使用SoundManager2。

如果您手动使用 HTML5 音频,请记住 Firefox 和 Opera 不支持 MP3。他们支持 Ogg Vorbis。 Safari 和 IE 不支持 Ogg Vorbis 但支持 MP3。 Chrome 支持 MP3 和 Ogg Vorbis,但不支持 WAV。您是否尝试过播放 WAV?如果你这样做了,它将无法在 Chrome 上运行。

【讨论】:

  • 那么也许可以尝试使用 DOM 级别 2 事件(记得让 IE 的 Microsoft 特定事件回退),或者只使用我推荐的库来为你做这件事。
猜你喜欢
  • 2011-01-03
  • 2013-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 2010-10-20
  • 2013-12-24
  • 1970-01-01
相关资源
最近更新 更多