Mobile Safari 在播放时跳过 HTML 音频的前几秒()

Jus*_*ith 6 javascript mobile-safari html5-audio reactjs

我有一个 React Audio Player,它使用 useAudio 钩子来管理 HTML5 音频。除了 Mobile Safari 之外,它在任何地方都可以正常工作,在播放器开始播放几秒钟后声音就会开始。

奇怪的是,我canplaythrough在调用HTMLAudioElement.play(). 所以 Safaricanplaythrough启动并开始“播放”音频,除了音频直到一秒钟左右才真正开始。

这是 CodeSandbox 上的完整示例:https ://codesandbox.io/s/useaudioplayer-jvftw ? file =/ src/useAudio.tsx

要复制,请在 Mobile Safari 中打开并播放音频。

pok*_*net 4

就我而言,第一次音频就可以正常播放。
从第二次开始,Safari 会跳过最初的几秒钟。


myAudio.load();
之前打电话解决了
myAudio.play();