不揃いなプリセットたち

Mirrorscopeみたいな処理はiOS 4.0以降のAVCaptureナンチャラを使うんだけど、開発中に困惑したのがビデオ入力の画像解像度などを決めるプリセットの挙動。デバイスの差異を吸収するためにプリセットとして抽象化されてると勝手に思ってたら大間違い。なかなか一貫性がないので表にまとめました。初代iPhoneはiOS 4.0が対応していないので省いています。

capturesessionpreset

結論的には、どのデバイスでも同一の解像度が得られるプリセットはないし、解像度の大小関係も一意的に決められませんね。特に3Gが鬼門になっています。Mirrorscopeではがんばって全デバイスに対応してますけど、なんか理不尽な感じが拭えません(笑)。

mirroscope4a

それに、これまた抽象化の都合のいいところで、次のアップデートでは数値が変わっちゃうかもしれないですね。せめてプリセットに対して解像度を返してくれるメソッドがあるといいんですけどね(ないよね?>誰となく…)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA