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;
効果覿面だったので、当面はこの方法でやり過ごそうかと思っています。
関連記事
-
-
WSCoachMarksViewをSwiftで使う場合の手順
Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含
-
-
plistファイルに色を入れる
plistファイル中にUIColorを入れたい!という場合。普通RGBAの値を数値で入れるとかするけ
-
-
viewDidLoadとviewDidLayoutSubviewsのタイミング
真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view
-
-
バージョンアップ版があることを通知する
拍子抜けするほど簡単だったので、「アプリのバージョンアップの通知をどうするか」という話についてTip
-
-
NSStringのフォーマット書式
Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな
-
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
-
User Defined Runtime Attributeについての覚書
UILabelに上下左右のパディングをつける方法を探して、結局「自分で以下のようなメソッドを持った拡
-
-
iOS9でURLスキームを登録する
私事ですが、iOS8から対応はしたいということで検証用に使っている自分のiPhoneもiOS8でがん
-
-
iOSシミュレータの帯域制限をテストする
iOSシミュレータで通信帯域制限をテストしたいと思ったんですが、Xcode8からXcode7.xとは
-
-
UITableViewCellのロングタップ
UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した