Как включить вывод видео в приложении для iPad? - PullRequest
3 голосов
/ 06 апреля 2010

Только что выяснилось, что видеовыход iPad - это не функциональность системного уровня, а то, что его необходимо явно встроить в каждое приложение. Есть кто-то, кто имеет какой-либо опыт с этим, кто мог бы указать мне на пример кода? Вторым вопросом будет: почему бы Apple не сделать это системной функцией. Это аппаратная проблема, о которой я должен знать, когда встраиваю это в свое приложение?

Ответы [ 4 ]

1 голос
/ 08 апреля 2010

Поддержка внешнего дисплея

iPad можно подключить к внешнему дисплею с помощью набора поддерживаемых кабелей. При подключении связанный экран может использоваться приложением для отображения содержимого. Информация об экране, включая поддерживаемые разрешения, доступна через интерфейсы инфраструктуры UIKit. Вы также используете эту платформу для связи окон вашего приложения с тем или иным экраном.

  • Класс UIScreen обеспечивает поддержку получения экранных объектов для всех доступных экранов (включая главный экран устройства). Каждый экранный объект содержит информацию о свойствах самого экрана, включая размеры, которые правильно учитывают размер и пропорции пикселя экрана.

  • Класс UIScreenMode предоставляет информацию об одном конкретном размере и соотношении сторон экрана.

  • Окна (представленные классом UIWindow) теперь можно назначать для определенного экрана.

0 голосов
/ 06 сентября 2011

Это обсуждение теперь менее актуально, поскольку в текущих версиях iOS зеркальное отображение экрана теперь поддерживается на системном уровне.

0 голосов
/ 23 марта 2011

Класс TVOutManager обрабатывает весь процесс.

Вот информация: http://www.touchcentric.com/blog/archives/123

И GitHub: https://github.com/robterrell/TVOutManager

0 голосов
/ 14 апреля 2010

Извините, у меня, похоже, нет достаточного положения, чтобы комментировать другие сообщения. Итак, вот код, который может быть полезен для изучения новой поддержки внешнего дисплея:

    NSUInteger numScreens = [[UIScreen screens] count];
DLog(@"[[UIScreen screens] count] = %d", numScreens);
NSUInteger j = 0;
for (UIScreen *screen in [UIScreen screens])
    {
    DLog(@" screen %d", j++);
    NSArray *modes = [screen availableModes];
    for (int i = 0; i < [modes count]; ++i)
        {
        UIScreenMode *mode = [modes objectAtIndex:i];
        DLog(@"  modes[%d] : size = (%f, %f) ; aspect ration = %f", i, mode.size.width, mode.size.height, mode.pixelAspectRatio);
        }
    }

Обратите внимание, что вам все еще нужен какой-то видеокабель. Я проверил это с помощью компонентного AV-кабеля Apple. Хотя это неудобно, но это хорошо для отладки, потому что он имеет USB и 30-контактный разъем, поэтому вы можете подключиться к iPhone / iPad и , чтобы запустить ваше приложение в отладчике.

Проблема в том, что вам все равно нужно будет поработать, чтобы отразить части экрана на внешнем экране, сохраняя элементы управления на iPhone / iPad. Возможно, вы захотите взглянуть на этот текст ссылки для вдохновения.

...