『iPhoneSDKで効果音の再生方法』でAudio Queue Servicesを使った効果音等の短い(5秒以内)の音声ファイルを再生する方法を書きましたが、今回はそれよりも長い音声ファイルを簡単に再生する方法です。
iPhone OS 2.2以降は音声ファイルはAVAudioPlayerで再生することができます。
Audio Queue Servicesと比較すると機能は多いですが、負荷が高いようです。AVAudioPlayerでも5秒以内の音声ファイルを再生することができますが、効果音等はAudio Queue Servicesを使った方が同時再生時の負荷が低いので、BGM等の長い音声ファイルの再生時のみAVAudioPlayerを使いましょう。
対応しているファイル形式はMP3, AAC他です。(詳しくはリファレンスやドキュメントを参照してください。)
例として、プロジェクトのResourcesに追加したtest.mp3ファイルを再生する手順を説明します。
フレームワークの追加
インポート文の追加
サウンドを扱うファイルに"AVFoundation/AVFoundation.h"のインポート文を追加する。
#import <AVFoundation/AVFoundation.h>
インスタンスの定義
ファイルを読み込み、AVAudioPlayerクラスのインスタンを作成します。
再生したいファイルが複数ある場合は、ファイル毎にインスタンを作成します。
AVAudioPlayer *testsound; NSURL *furl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"]]; testsound = [[AVAudioPlayer alloc] initWithContentsOfURL:furl error:nil];
再生
playメソッドで再生することができます。
[testsound play];
- 作者: Erica Sadun,株式会社クイープ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/02/12
- メディア: 大型本
- 購入: 20人 クリック: 474回
- この商品を含むブログ (60件) を見る
ユメみるiPhone ―クリエイターのためのiPhone SDKプログラミング
- 作者: 徳井直生,Mehdi Hercberg
- 出版社/メーカー: ワークスコーポレーション
- 発売日: 2009/05/11
- メディア: 単行本
- 購入: 2人 クリック: 43回
- この商品を含むブログ (20件) を見る