音声再生が急にできなくなる

iPhone全般
2008年12月13日 13:22

そんなことをやっているウチに、次に直面したのが、これまで問題なく再生できていた m4a ファイルが再生できなくなるという問題。

ときに、音声再生のサンプルとしては Speak Here というサンプルがメジャーなのですが(以前には他にもサンプルが転がっていたけど、どんどん消えている)、実はこのサンプルを流用して m4a ファイルを再生しようとするとハマります。ココ(ローカルなヘルプファイルがある場合はこちら)に書かれている部分がこのサンプルには入っていないので、aif や wav といった非圧縮の音声ファイルしか再生できないのですね。ココ の「Oct 11, 2008 3:12 AM」に投稿された内容に従って、2〜3行のコードを追加してやる必要があります。

さて、そうやって再生できていた m4a ファイルが突然再生できなくなって、不思議に思って aif や wav ファイルの再生も試してみたのだけど、軒並みアウト。でも相変わらず Speak Here はちゃんと動作します。謎。

3日くらいかけて、ようやく、プロジェクトを作り直したときにフレームワークの AudioToolbox.framework を Speak Here で使っている iPhone OS 2.1 用のものから iPhone OS 2.0 用のものにダウングレードしてしまっていたことに気付いたのでした。iPhone OS 2.1 用の AudioToolbox.framework をプロジェクトに追加しなおして復活。

Speak Here のサンプルを元にして音声を再生するアプリケーションを作る場合、最低条件として iPhone OS 2.1 の指定は必要になるようです。どうせ 2.1 が必要になるんなら、誰も文句を言わなければ 2.2 を最低条件にしておく方が現時点では安全かもしれません。(←2008.12.14 補足。これはウソでした。2.0 でも 2.1 でも 2.2 でも、Speak Here サンプルのオーディオ再生機能はちゃんと動きます。正解はこちらに)

コメントを書く


トラックバックはありません。

トラックバックURL: http://numata.designed.jp/mt-tb.cgi/168