外部ディスプレイへの出力

iPadやiPhone 4はVGAアダプタを使って外部のディスプレイに映像を出力できます。OSレベルでミラーリング出力できるとイイのですが、そんなものはないので、自分でコードを書かなければなりません。でも、これが意外と簡単でした。

要は外部ディスプレイのスクリーンの解像度を設定して、新しいウィンドウを開いて、スクリーンに結びつけるだけ。後は通常のビュー処理です。従来はスクリーンがひとつだけだったので意識することはなかったのですが、ちゃんとUIScreenクラス自体はiPhone OS 2.0から存在してますね。コードの流れとしては、こんな感じ。

  • 接続されているスクリーンがメイン・スクリーンでなければ…
  • そのスクリーンの対応解像度を求め、条件に合えば解像度を設定する。
  • 新しいウィンドウを開き、各種設定をしてビューを載せる。
  • そのウィンドウを表示するスクリーンを設定し、ウィンドウを表示する。

iPadではアプリケーション起動時にこんなコードを走らせればOKでしたが、iPhone 4ではダメでした。おそらく外部ディスプレイを認識するまでに時間がかかるんでしょうね。そんなわけで、ちゃんとノーティフィケーションを登録しておく必要もあります。保証もサポートもできませんが、iPhone 4用のサンプルコードを載せておきますね。

外部ディスプレイ出力サンプルコード:RidTest.zip
クリエイティブ・コモンズ・ライセンス
RidTest by Masayuki Akamatsu is licensed under a Creative Commons Attribution 3.0 Unported License.

ridtest

ちなみに、このコードは某ディスプレイ装置の実験用で、そのディスプレイは解像度800×600ピクセルのみの対応となっています。iPhoneシミュレータでは800×600が選択できないので、1024×768のスクリーンに対してビューだけを800×600で表示しています。

1 comment to 外部ディスプレイへの出力

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>