AVAudioPlayerの初回再生遅延
公開日:
:
最終更新日:2016/08/15
Tips AVAudioPlayer
ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの処理に時間がかかる(初回だけで、2回目以降は問題ない)という問題に直面していて悩んでいたのですが、とりあえず解決したのでメモ的に残そうと思います。
具体的にはショボい話で、AVAudioPlayerのロードを1回空実行してしまって、それでAVAudioPlayerの再生遅延を見かけ上なくそう、という話です。
自分はSingletoneクラスにAVAudioPlayerの再生を任せているので、初期化時にAVAudioPlayer* playerに対してこんな処理を挟んでいます。
player = [[AVAudioPlayer alloc] initWithData:(何らかのサウンドデータ)
error:nil];
player.delegate = self;
[player prepareToPlay];
player = nil;
効果覿面だったので、当面はこの方法でやり過ごそうかと思っています。
関連記事
-
-
画面回転をしたあとに、UITextViewの先頭を表示する
回転によりサイズが可変するUITextViewで、縦向き(ポートレイト)から横向き(ランドスケープ)
-
-
アプリ内で自動スリープの設定を無効化する
「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな
-
-
iOS6時代のアプリのiOS7への対応
やや古い情報になるが、iOS7対応に関して自分がやったことの覚え書き。いろんな所から拾って来た情
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
UIActionSheetが消えるときにキーボード表示/非表示通知が来る
UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート
-
-
iOS7でのPopover内サイズの指定
UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ
-
-
UITableViewCellのロングタップ
UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した
-
-
Xcode10からのimage literal / color literalの指定方法
アセットにあるUIImageの直接指定が可能なImage literalですが、気がついたらアセット
-
-
Realmで==ができなかった
最近Realm Swiftを使ってて、引っかかったところがあるのでメモ。 Realmのオブジェクト
-
-
コードでiPhone6 Plusを識別する簡単な方法
表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu
