効果音等5秒以下の音声ファイルはAudio Servicesで簡単に扱うことができますが、5秒を超えるものは、Audio Queue Servicesを使うことになり、少々ややこしくなります。
ここでは、5秒以下の音声ファイルは簡単に扱う方法を説明します。
(5秒以上の音声ファイルを再生する方法はこちら『iPhoneSDKでサウンドの簡単な再生方法』)
扱えるファイル形式は、AIFF, CAF, WAV ファイルです。
例として、プロジェクトのResourcesに追加したbell.wavファイルを再生する手順を説明します。
フレームワークの追加
インポート文の追加
サウンドを扱うファイルに"AudioToolbox/AudioServices.h"のインポート文を追加する。
#import <AudioToolbox/AudioServices.h>
システムIDの定義
ファイルを読み込み、SystemSoundID型で任意のIDを定義します。
再生したいファイルが複数ある場合は、ファイル毎にIDを定義します。
SystemSoundID idBell; furl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"bell" ofType:@"wav"]]; AudioServicesCreateSystemSoundID((CFURLRef)furl, &idBell);
再生
音声ファイルを再生したい場所でIDを指定して再生します。
AudioServicesPlaySystemSound(idBell);
AudioServicesPlaySystemSoundは実行後、再生の終了を待たずに次の文を実行しますので、同時に複数再生することができます。
メモリの解放
最後に(dealloc等で)メモリを解放します。
AudioServicesDisposeSystemSoundID(idBell);
iPhone Fan 2009 Spring (MYCOMムック)
- 作者: 池田冬彦,栗原亮,松山茂,丸山陽子,富永民紀,iPod Fan編集部
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2009/01/29
- メディア: ムック
- この商品を含むブログ (6件) を見る