alice-player icon indicating copy to clipboard operation
alice-player copied to clipboard

The demo doesn't work on Safari for Mac.

Open shaoyaoqian opened this issue 2 years ago • 2 comments

shaoyaoqian avatar Dec 06 '22 04:12 shaoyaoqian

可能的原因:在Safari上,点击播放按钮后,音频不会自动加载。在play之前需要load函数。

shaoyaoqian avatar Dec 06 '22 05:12 shaoyaoqian

在safari中,如果audio的preload属性是metadata,或者none,那么始终不会出发canplay事件。因此需要在play函数中加入下面这一段代码:

      if (!this.canPlay) {
        this.audio.load()
      }

点击播放按钮后,如果这首歌不能播放,那么会先试着加载一下,加载会触发canplay事件了,然后把canPlay设为true,后面的逻辑就通顺了。

shaoyaoqian avatar Dec 06 '22 12:12 shaoyaoqian