左右で別々の音源を聴くことが可能な、学習加速アプリです。
『i聖徳太子』
※無料です
やりたいことはシンプルなのに、
- iPodライブラリから取得した曲を
- 左右にパンニングして再生
という必須要件を満たそうとするとそのまま MPMediaItem をMPMusicPlayerController で再生、とはいかず、
- AVAsset でライブラリの曲をcafファイルに書き出し
- OpenALで空間に配置して再生
ということをしています。
ファイルに書き出してしまえばパンニングできるプレイヤークラスはOpneAL以外にもある(AVAudioPlayerとか)のですが、せっかくなら2ch以上にも対応しようってことで3D音響なOpenALを採用しました。
コードの詳細な解説等は機会があれば別途エントリーを書こうと思います。