*

AVAudioPlayerの初回再生遅延

公開日: : 最終更新日:2016/08/15 Tips

ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの処理に時間がかかる(初回だけで、2回目以降は問題ない)という問題に直面していて悩んでいたのですが、とりあえず解決したのでメモ的に残そうと思います。

具体的にはショボい話で、AVAudioPlayerのロードを1回空実行してしまって、それでAVAudioPlayerの再生遅延を見かけ上なくそう、という話です。
自分はSingletoneクラスにAVAudioPlayerの再生を任せているので、初期化時にAVAudioPlayer* playerに対してこんな処理を挟んでいます。

        player = [[AVAudioPlayer alloc] initWithData:(何らかのサウンドデータ)
                                               error:nil];
        player.delegate = self;
        
        [player prepareToPlay];
        
        player = nil;

効果覿面だったので、当面はこの方法でやり過ごそうかと思っています。

関連記事

バージョンアップ版があることを通知する

拍子抜けするほど簡単だったので、「アプリのバージョンアップの通知をどうするか」という話についてTip

記事を読む

CoreDataのソートとsectionNameKeyPathの関係

CoreDataをフェッチするときに、indexPathのsectionにできるsectionNam

記事を読む

HTMLParserを修正する

HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser

記事を読む

”No Scheme”になってしまった場合の対応

知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない

記事を読む

NSAttributedStringをローカライズする方法

NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手

記事を読む

iOS7でカメラ撮影時のステータスバーを消す

UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番

記事を読む

コードでiPhone6 Plusを識別する簡単な方法

表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu

記事を読む

iOS9でのNSFetchedResultsContollerDelegateの挙動

ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD

記事を読む

WSCoachMarksViewをSwiftで使う場合の手順

Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含

記事を読む

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初のシート)をCSVとしてエクス

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑