VGA コネクタを介して画面をミラーリングすることは可能ですか? これについては何も見つかりません。
3 に答える
私はあなたと同じものを探していました。先週末、ミラーリングのサポートを追加するために小さな UIApplication カテゴリを作成しました。コードを Google Code に公開しました。
http://code.google.com/p/iphoneos-screen-mirroring/
それを使用するには、アプリケーションデリゲートのアプリでセットアップするだけで、起動が完了しました。そのようです:
[[UIApplication sharedApplication] setupScreenMirroringOfMainWindow:mainWindow framesPerSecond:20];
先週末、大画面テレビで Apple AV 出力ケーブルを使って試す機会が 1 回だけありました。パフォーマンスは優れていないため、30 fps を超えるフレーム レートの使用はお勧めしません...
QuartzCoreフレームワークが必須であることを追加する価値があると思います。そうしないと、コンパイル時に 4 つのエラーが発生します。
Undefined symbols:
"_CATransform3DMakeRotation", referenced from:
-[UIApplication(ScreenMirroring) updateMirroredWindowTransformForInterfaceOrientation:] in UIApplication+ScreenMirroring.o
-[UIApplication(ScreenMirroring) updateMirroredWindowTransformForInterfaceOrientation:] in UIApplication+ScreenMirroring.o
-[UIApplication(ScreenMirroring) updateMirroredWindowTransformForInterfaceOrientation:] in UIApplication+ScreenMirroring.o
"_kCAGravityResizeAspect", referenced from:
_kCAGravityResizeAspect$non_lazy_ptr in UIApplication+ScreenMirroring.o
(maybe you meant: _kCAGravityResizeAspect$non_lazy_ptr)
"_OBJC_CLASS_$_CADisplayLink", referenced from:
objc-class-ref-to-CADisplayLink in UIApplication+ScreenMirroring.o
"_CATransform3DIdentity", referenced from:
_CATransform3DIdentity$non_lazy_ptr in UIApplication+ScreenMirroring.o
(maybe you meant: _CATransform3DIdentity$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status
各 UIWindow オブジェクト (基本的には最上位ビュー) には画面 (UIScreen) が割り当てられ、もちろん必要な画面を設定できます。したがって、メイン コンテンツをセカンド スクリーンに移動するのは簡単ですが、ミラーリングは困難です。(なぜそれが醜いのかについての講義を望まない場合は、次の段落までスキップしてください)私はこれがアップルの意図であると信じています.ビデオが再生されるまで、基調講演のプレゼンテーションが開始されるまで何も表示されない場合と比較して、どのようなプレゼンテーション モードに入るのもかなり劣っています。
UIWindow は UIView を継承しているため、私はこの正確なことについてあまり個人的な経験はありませんが、何らかのビットマップ コンテキストに描画してから、それぞれがイメージ ビューのみを持つ 2 つの異なる UIWindows を使用することができるはずです。実際のピクセルをそれぞれの画面にプッシュします。1 つの特定のカスタム ビューのみをミラーリングする場合 (そのサブビューは含めない)、これはかなり簡単です。これは、そのビューをデバイス画面に表示して (任意の入力をキャプチャするため)、メソッドがあるように設計できるためです。どのようなコンテキストでも描画するために呼び出す (一部の drawRects はそのままで問題なく動作する可能性があります) と、他の画面の非常に特別な素晴らしいカスタム サブビューから呼び出します。これは drawRect を実装して、実際のビューでメソッドを呼び出すだけです。
これが役に立てば幸いです。申し訳ありませんが、少し怒鳴りました:(