関連する設定をもう一つ。
iPhoneの内蔵スピーカーには、次の二つが存在します:
- 電話として使っているときに耳にあたる箇所のスピーカー(最大出力音量小)
- 端末下部のスピーカー(最大出力音量大)
2.のスピーカを利用したい場合、下記コードの(2)の設定も必要になります。
- (void)loadView {
// (1) settings for playing and recording audio
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionSetActive(YES);
UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof (sessionCategory),
&sessionCategory);
// (2) settings for redirecting audio output
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,
sizeof (audioRouteOverride),
&audioRouteOverride);
...
}
参考:オーディオセッションプログラミングガイド: 出力オーディオのリダイレクト
------
iPhoneオーディオプログラミングに関しては、次の本がオススメ。
永野 哲久 / ソフトバンククリエイティブ / 売り上げランキング: 28301
おすすめ度の平均: 

iPhoneプログラマは持っていて損のない良書
オーディオ系アプリ開発のバイブル
あまり知られたくない本です。
必要な事は書かれてます。
明快な説明と実践的なサンプルコードがすばらしいposted with amazlet at 2011.2.18

0 件のコメント:
コメントを投稿