如何在iOS的React中修复音频play()?

时间:2019-01-02 17:43:04

标签: ios reactjs audio playback

我正在React中制作一个计时器应用程序。每当计时器倒数至0时,它应播放一个wav声音文件。在IE,Chrome,Edge,Android上运行正常,但在iOS上无法正常运行。

我找到了一个解释为什么会发生这种情况,但没有找到解决方法。

  

在iOS上的Safari(适用于包括iPad在内的所有设备)上,该用户可能位于蜂窝网络上,并按数据单元收费,因此禁用了预加载和自动播放功能。在用户启动数据之前,不会加载任何数据。这意味着除非用户操作触发了play()或load()方法,否则JavaScript play()和load()方法在用户启动播放之前也处于无效状态。换句话说,用户启动的“播放”按钮有效,但onLoad =“ play()”事件无效。 (Source: Apple Developer

 <audio id="beep" src="http://www.pacdv.com/sounds/interface_sound_effects/sound106.wav"></audio>

 startTimer = () => {
      document.getElementById('beep').play();
 }

启动计时器功能在计时器达到0时运行,而不是在单击事件上运行。计数到0时,预期结果将是在iOS上播放音频。

0 个答案:

没有答案