週刊人生詰んだマガジン

フリーランスフロントエンドエンジニアTinyKittenのブログ

iOSでaudio.play()する

lttimer.tinykitten.me

LTTimer作るときにハマったやつ。爆発音がiOSで流せない。

普通にnew Audio(path)してaudio.play()しただけだと動かないらしい。

で、一旦audio.load()してからaudio.play()すれば動くらしいとの情報。

だいたいのサイトはonloadのときにaudio.load()していたがこの方法では動かず。(Vueではmounted()でやった)

でどうすれば動くかっつーと、STARTボタン押したハンドラでaudio.load()するって話。

んでaudio.load()したaudioに対してaudio.play()するわけですね。

LTTimerではボタンと爆発音を流すコンポーネントを別にしたかったのでVuexにnew Audio(path)を流し込みました。

んまぁLTするときにはタイムキーパーとしては便利だと思うしWebブラウザだけで使えてPWAなのでLTしたいときはぜひ使ってみてください。