Подтвердить что ты не робот

IPad VGA Connector - Зеркальный экран в собственном приложении?

Возможно ли зеркальное отображение экрана через разъем VGA? Не могу найти ничего об этом.

4b9b3361

Ответ 1

Я искал то же, что и ты. В минувшие выходные я написал небольшую категорию UIApplication, чтобы добавить поддержку зеркалирования. Я опубликовал код в Google Code.

http://code.google.com/p/iphoneos-screen-mirroring/

Чтобы использовать его, вам просто нужно настроить его в приложении приложения-приложения, которое закончилось lauching. Например:

[[UIApplication sharedApplication] setupScreenMirroringOfMainWindow:mainWindow framesPerSecond:20];

У меня был только один шанс попробовать в прошлый уик-энд на большом экране телевизора с выходными кабелями Apple AV. Производительность не звездная, поэтому я бы не рекомендовал использовать частоту кадров выше 30 fps...

Ответ 2

Я думаю, стоит добавить, что структура 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

Ответ 3

Каждому объекту UIWindow (в основном, на верхнем уровне) присваивается экран (UIScreen), и вы можете, конечно, настроить необходимый экран. Поэтому перемещение основного содержимого на второй экран легко, но зеркалирование сложно. (Если вы не хотите лекции о том, почему это уродливо пропустить до следующего абзаца), я считаю, что это намерение яблока, как из-за того, что рисует одно и то же дважды, одно с БОЛЬШИМ более высоким разрешением, и потому, что опыт просмотра интерфейса до вхождение в любой режим презентации является довольно низким по сравнению с отсутствием видимости до тех пор, пока видео не будет воспроизводиться, начнется презентация с основным докладом и т.д. Это то, что вы, очевидно, хотите рассмотреть в каждом конкретном случае, но тем не менее зеркалирование - это плохая идея.

UIWindow наследует UIView, поэтому, хотя у меня не так много личного опыта с этой точной вещью, вы все равно сможете заставить его рисовать в какой-то растровый контекст, а затем использовать два разных UIWindows каждый с изображение на них, нажимая фактические пиксели на соответствующие экраны. Это значительно проще, если вы хотите только зеркалировать один конкретный пользовательский вид (и не включать его в subviews), потому что вы можете иметь этот вид на экране устройства (для захвата любого ввода), а затем создать его таким образом, чтобы у вас был способ чтобы вызвать его в любом контексте (некоторые drawRects могут работать нормально, как есть), и вызов, который из супер особого удивительного настраиваемого subview на другом экране, который будет реализовывать drawRect, чтобы просто вызвать метод на фактическом представлении.

Надеюсь, что это поможет, извините, я немного раскалывал: (