Pergunta

Acabei de descobrir que a saída de vídeo do iPad não é uma funcionalidade no nível do sistema, mas que ele precisa ser explicitamente construído em cada aplicativo. Há alguém que tem alguma experiência com isso, que poderia me apontar para amostrar código? A pergunta secundária seria: por que a Apple não tornaria esse um recurso do sistema. É um problema de hardware, que eu deveria estar ciente ao construir isso no meu aplicativo?

Foi útil?

Solução

Desculpe, pareço não ter a posição necessária para comentar outras postagens. Então, aqui está um pouco de código que pode ser útil para explorar o novo suporte externo de exibição:

    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);
        }
    }

Observe que você ainda precisa de algum tipo de cabo de vídeo. Eu testei isso com o cabo AV do componente da Apple. Embora desajeitado, isso é bom para depuração, porque possui conector USB e 30 pinos, para que você possa estar conectado ao iPhone/iPad e Execute seu aplicativo no depurador.

O problema é que você ainda precisará fazer algum trabalho para refletir partes da sua tela na tela externa, mantendo os controles no iPhone/iPad. Você pode querer olhar para isso Texto do link para inspiração.

Outras dicas

Suporte de exibição externa

Um iPad pode ser conectado a uma tela externa através de um conjunto de cabos suportados. Quando conectado, a tela associada pode ser usada pelo aplicativo para exibir conteúdo. As informações sobre a tela, incluindo suas resoluções suportadas, são acessíveis através das interfaces da estrutura do UIKIT. Você também usa essa estrutura para associar as janelas do seu aplicativo a uma tela ou outra.

  • A classe UISCREEN fornece suporte para recuperar objetos de tela para todas as telas disponíveis (incluindo a tela principal do dispositivo). Cada objeto de tela contém informações sobre as propriedades da própria tela, incluindo as dimensões que levam em consideração corretamente o tamanho e a proporção de pixels da tela.

  • A classe UISCREENMODE fornece informações sobre um tamanho específico e uma configuração de proporção de pixels de uma tela.

  • O Windows (representado pela classe UIWindow) agora pode ser atribuído a uma tela específica.

A classe TVOutManager lida com todo o processo.

Aqui está a informação: http://www.touchcentric.com/blog/archives/123

E github: https://github.com/robterrell/tvoutmanager

Essa discussão agora é menos relevante, pois nas versões atuais do iOS, o espelhamento de exibição agora é suportado no nível do sistema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top