酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

AudioServicesCreateSystemSoundID/AudioServicesPlaySystemSoundで音を鳴らす

本記事は「AudioServicesCreateSystemSoundID関数/AudioServicesPlaySystemSound関数を使ってサウンドファイル(BGMや効果音など)を再生する - iOSアプリ開発の逆引き辞典」に転記しました。

AudioServicesCreateSystemSoundID関数を使用する場合は、importディレクティブに以下の宣言が必要になります。

#import <AVFoundation/AVFoundation.h>

バイナリ内に含まれる楽曲ファイルを再生させる場合のサンプルコードを以下に示します。

// 楽曲ファイルのパスからNSURLオブジェクトを作成する
NSString* path = path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"wav"];
NSURL* url = [NSURL fileURLWithPath:path];

// サウンドIDを取得する
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)url, &soundID)

// 音声ファイルの再生をおこなう
AudioServicesPlaySystemSound(soundID);

// 読み込み済みのサウンドリソースを解放する
AudioServicesDisposeSystemSoundID(soundID);