月別アーカイブ: 2009年7月

BigStopWatch v2.3 公開しました

BigStopWatchのver2.3が公開されました。

新機能は、バッテリー残量の表示です。インストール時には機能がオフになっていますので、必要な方は設定でオンにしてください。バッテリー残量表示の機能を付け加えた事で、OS 3.0のみの対応になっています。

あと、ラップ/スプリット機能・カウントダウン・積算の各機能をオン・オフ出来る設定を追加しました。これら3つ全てをオフにすると、このアプリを最初に作ろうとしていた理想の状態になったりします。もともとは積算も付けたくなかったんですが、さすがにそれはシンプルにしすぎだろうと思って、苦肉の策で小さい円の中にRESETを浮かび上がらせるということにしましたので。

ちなみに、アニメーション周りをまたちょっと変更していまして、多少パフォーマンスが落ちています。iPhone 3Gとかだとカクッとする事が多くなってしまったかもしれません。そのかわり内部的にはアニメーションを自由にいじくれる様になってるんですけど…。

日本語ドキュメントに追加

今日アップルの日本語ドキュメント見たらOS3.0の新機能のものが追加されてました。前からあった2.X用のドキュメントも、そのうち3.0用に直される模様。

iPhone Dev Centerの日本語ドキュメント
※もちろん要アカウント

追加になったのは、

・Apple Push Notificationサービス プログラミングガイド
・Store Kit プログラミングガイド
・Game Kit プログラミングガイド

の3つ。

ちょうどGame Kitでやりたい事があって調べようと思っていたからうれしいです。

同じページに日本語訳されているAudio Session プログラミングガイドは、全iPhoneアプリ開発者必読だと思いますので、ついでにぜひ。ちょこっとでも音を鳴らすなら間違いなく知っていた方が良いです。

iPhone OS 3.0のオーディオ周りの変更点

OS3.0がでてからもう結構時間が経ってますが、オーディオ周りの挙動に変更があったところをまとめておきます。

ロック時に音が途切れない

AudioUnitのRemoteIOを使っている場合、AudioSessionのPreferredHardwareIOBufferDurationを何も設定せずデフォルト状態のままだと、以前と変わらずロックしていないときは1024フレーム、ロック中は4096フレームと切り替わってしまいますが、一度値を設定しておくと、ロックしても設定した値そのままで切り替わらなくなったようです。

RemoteIOのデフォルトフォーマットが変更

OS2.2.1以前のRemoteIOのデフォルトのフォーマットは8.24の固定小数点でしたが、OS3.0からは16bitの整数に変わっているようです。ただし、MultiChannelMixerなどはあいかわらず8.24の様ですので、組み合わせて使う場合は自分で設定して合わせる必要があり、注意が必要です。

Objective-CでAudioSession

いままでのC言語でのAPIだけでなく、AVFoundationにAVAudioSessionというObjective-CのAPIも加わり、より簡単にAudioSessionが使えるようになったようです。でもなぜかIOBufferDurationが設定できないんですよねぇ。使い方が間違ってるんでしょうか。

ExtAudioFileでMP3やAACなどの圧縮ファイルが使える

AVAudioPlayerでは以前から読み込めていましたが(AudioQueueでもでしたっけ?)、OS3.0からはExtAudioFileでも読み込めるようになったようです。個人的に録音に興味が無いので試していませんが、AACとかは書き込みも出来るかも。

Bluetooth経由で音の再生が可能に

BluetoothのA2DPに対応し、ワイヤレスで音の再生が可能になりました。が、手元にあったBluetoothレシーバ(以前使っていたTOSHIBAの携帯用のやつ)で試しに聴いてみたところ、音質は別にいいのですが、レイテンシーがひどすぎて、Touch the Waveとか楽器アプリで使うのはありえないという印象です。

ミュージックライブラリにアクセスが可能に

と聞いて期待したんですが、一瞬で打ち砕かれました。あくまでメタ情報の取得と、用意されているプレイヤーでの再生が出来るだけで、オーディオファイルを直接読み込む事は出来ません。なんかよく、ミュージックライブラリに直接アクセスなんて書いてありますが、「間接的」って表現のほうが合ってると思います。あ、でも、僕の認識が間違っていて、実はオーディオファイルの読み込みができるなんて情報があればぜひとも教えていただきたいです。