iOSアプリ 効果音の再生


効果音の再生方法です。

あちこちで調べてAppleのドキュメントなんかも眺めて難しそうだなぁと思っていたのですが、実際にコードを書いてみると、、、難しいことをやろうとしなければ意外とやることは単純かな。

こちらのサイト様を主に参考にさせていただきました。

iOS で効果音を鳴らしたい | どうも。わたすがダニーです。
効果音を鳴らす « iPhoneアプリ練習帳

それでなんとか効果音を鳴らすことまではできたのですが、、、
問題があって、ボタンを連打して前の音が鳴り終わっていないときに次の音を鳴らそうとすると鳴らない。

再生用のメソッド作ってその中で

// (playerは AVAudioPlayer *ということで)
if([player isPlaying]){
  [player stop];
}
[player play];

とかやってみたのですが、どうも効果がない。

音ファイルの再生時間をできるだけ短くしたりしてなんとか我慢していたのですが、今日こちらのサイトを見つけて解決しました。

C開発者によるiPhoneプログラミング: サウンドの連続再生

stopを使わずに、強制的にcurrentTimeを0に巻き戻してあげてからもう一度再生すればいいのか〜。
こんな感じに。

[player setCurrentTime:0];
[player play];

参考になりました。
感謝。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>