やりたいこと
ボタンを押すたびにピコーンというSEを鳴らすのだが、高速で連続してボタンを押した場合に音が鳴らないことがある。
解決法
音を重ねて鳴らす場合はAVAudioPlayerをしまうプロパティを配列に入れ、再生が終わるまで保持するなどすればいい。(終わったのを消すのがSwiftではちょっと面倒になったけど)
重ねて鳴らさなくていいならば、前の音が再生中なら音を止め、再生ポイント(currentTime)を先頭に戻してやればいい。
具体的には以下のように。
if correctSound.isPlaying {
correctSound.stop()
}
correctSound.currentTime = 0
correctSound.play()
0 件のコメント:
コメントを投稿