Presentation is loading. Please wait.

Presentation is loading. Please wait.

IPhone 勉強会 ~ Audio ~ 縣 禎輝. iPhone で音を鳴らす iPhone でサウンドを再生する方法 1) System Sound Service 30 秒以下でファイル容量の小さなサウンド CAF,MP3,WAV,AIFF など 2) AVAudioPlayer フレームワーク,

Similar presentations


Presentation on theme: "IPhone 勉強会 ~ Audio ~ 縣 禎輝. iPhone で音を鳴らす iPhone でサウンドを再生する方法 1) System Sound Service 30 秒以下でファイル容量の小さなサウンド CAF,MP3,WAV,AIFF など 2) AVAudioPlayer フレームワーク,"— Presentation transcript:

1 iPhone 勉強会 ~ Audio ~ 縣 禎輝

2 iPhone で音を鳴らす iPhone でサウンドを再生する方法 1) System Sound Service 30 秒以下でファイル容量の小さなサウンド CAF,MP3,WAV,AIFF など 2) AVAudioPlayer フレームワーク, 最も簡単な演奏方法 3) AudioQueue 大半のフォーマットに対応, 扱いが難しい 4) AudioUnit シンセサイズなどには必須のサウンド演奏方法 ある程度はフレームワーク化されている 5) OpenGL もともとゲームのために用意された API なので、自由度の高い再生が できる

3 iPhone のサウンドフォーマット iPhone は、 MIDI 以外のほとんどのフォーマット に対応している。 – 標準で要求するフォーマットは、 caf 形式のファイル である。 – 他の形式は、 QuickTime プレイヤーが対応している。 Mac 上のシミュレーターで動作しても、実機では動作し ないことがこれ以外にも多々あること留意しなくてはな らない。

4 サウンド再生の準備 CAF のリニア PCM への変換の例 /usr/bin/afconvert –f caff –d LEI16 INPUT_FILE OUTPUT_FILE.caf CAF の IMA4 への変換の例 /usr/bin/afconvert –f caff –d ima4 INPUT_FILE OUTPUT_FILE.caf CAF の AAC への変換の例 /usr/bin/afconvert –f caff –d ima4 INPUT_FILE OUTPUT_FILE.caf

5 System Sound Service の使い方 // オーディオファイルのパスを取得する NSURL* url; url = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:@"C4" ofType:@"aif"]]; // システムサウンドを作成する AudioServicesCreateSystemSoundID((CFURLRef)url, &_soundC4); // サウンドを鳴らす AudioServicesPlayAlertSound(sound);

6 System Sound Service で楽器アプ リ 必要な13音のサウンドを読み込む - (void)viewDidLoad { // サウンドを読み込む NSURL* url; url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"C4" ofType:@"aif"]]; AudioServicesCreateSystemSoundID((CFURLRef)url, &_soundC4); url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"C#" ofType:@"aif"]]; AudioServicesCreateSystemSoundID((CFURLRef)url, &_soundCS); ……

7 playSound: アクションメソッドで再生 - (IBAction)playSound:(id)sender { // タグを取得して、サウンドを決定する SystemSoundID sound = (SystemSoundID)NULL; switch ([sender tag]) { case 100: sound = _soundC4; break; case 101: sound = _soundCS; break; case 102: sound = _soundD; break; case 103: sound = _soundDS; break; …… } // サウンドを鳴らす if (sound) { AudioServicesPlayAlertSound(sound); }

8 System Sound Service の欠点 提供していない機能 – 音量の調整ができない – 鳴らした音を途中で止める事ができない


Download ppt "IPhone 勉強会 ~ Audio ~ 縣 禎輝. iPhone で音を鳴らす iPhone でサウンドを再生する方法 1) System Sound Service 30 秒以下でファイル容量の小さなサウンド CAF,MP3,WAV,AIFF など 2) AVAudioPlayer フレームワーク,"

Similar presentations


Ads by Google