iOSで音の再生に使うとき、以下の2つの方法がある。まだあるけど、簡単なのが以下。
- System Sound Service
- AVFoundation
System Sound Serviceこっちだと音がヘッドフォンからでないし、iPad2でApple TVのミラーリング使ったときに、音声が本体から出てきます。せっかくTVにつないでいるのに。
ということで、音の再生は、AVFoundationがお勧めです。
使い方は、適当に[AVAudioPlayer]で検索してもらえれば、けっこう出ます出ます。
で、ちょっとしたポイントをご紹介。
AVAudioPlayer *sndとしているとして、
[snd play]とすれば、再生ですが、
事前に
[snd prepareToPlay]
とすれば、音が途切れないとありますが、
5秒程度の短い音だと、まあ、どうでもいいわけです。
[snd play]で音が流れているときに、再度
[snd play]としてしまうと、無視されてしまいます。
その場合、
AVAudioPlayer *sndを複数用意しておく、というのもありかもしれませんが、
効果音程度でしたら、
playingというプロパティを参照し、再生中か確認し、再生中であれば、
currentTimeに0をセットするだけで、最初から再生するので、
そういう使い方をお勧めします。
コードを張り付けたいところですが、時間があったら後日記事再編集で張り付けて置きます。