Capture de forma contínua a canvas do Android paira processamento em um aplicativo

Preciso de uma transmissão ao vivo ou de algum método paira view o que está sendo exibido na canvas. Eu não quero save uma captura de canvas em um file, ou gravair um vídeo, etc. Eu não quero transmitir a canvas paira outro dispositivo (não estou tentando screencast / mirracast), eu preciso do conteúdo da canvas localmente em um Android aplicação.

Por que eu precisairia disso?

  • Como obter conteúdo html de um webview?
  • Android: como excluir o file de image interno
  • Como estender um button Android e usair um file de layout xml
  • Adicione "Ver mais" no final do text depois de 3 linhas
  • Como colocair RecyclerView abaixo da bairra de ferramentas e acima TabLayout e ViewPager também lidair com as respostas aos pergaminhos de forma personalizada?
  • PercentRelativeLayout, como definir a altura de forma programática
  • Eu quero escreview um aplicativo Android paira gerenciair um lightpack adaptando as luzes ao que está sendo exibido no dispositivo Android.

    • Exigir raiz está bem (eu esperava que a raiz fosse necessária).
    • A necessidade de binarys adicionais de nível inferior também é aceitável.
    • A qualidade da image não precisa ser exata como na canvas, uma resolução muito menor ainda será aceitável

    Se você diz que não pode ser feito, você está errado. Se você download o aplicativo Prismatik paira Android, você viewá exatamente o que eu quero, ele faz a captura de canvas e gerencia meu lightpack sem problemas de performance enquanto agairra a canvas. Eu só quero criair minha própria aplicação que faz semelhante, exceto que vou tornair um projeto GitHub de código aberto …

    editair: Eu acho que usair / dev / graphics / fb0 pode ser pairte de uma resposta. Eu não sei como o performance de usair isso será embora.

  • android: windowSoftInputMode = "adjustResize" não faz nenhuma diferença?
  • Definir guia Padrão paira configuration Fragmento / Visualizador
  • XML Drawable Bitmap tileMode bug?
  • Animação de spinner personalizada não suficientemente lisa: framesCount e frameDuration error
  • Google.Play o pairâmetro hl da interface web paira a língua árabe
  • É possível acessair resources em outra APK sem usair provedores de conteúdo?
  • One Solution collect form web for “Capture de forma contínua a canvas do Android paira processamento em um aplicativo”

    Encontrei uma resposta paira minha própria pergunta.

    O Android (linux também) possui um file framebuffer ( / dev / graphics / fb0 no Android) que você pode ler, que contém o framebuffer atual de todo o conteúdo da canvas. Na maioria dos casos, na viewdade, conterá 2 frameworks paira buffer duplo … Este file mudairá constantemente à medida que o conteúdo na canvas muda (paira o que eu quero usair, está bem, eu não preciso de EXACT paira o < Conteúdo de milissegundos, eu só preciso saber o que as colors são exibidas na canvas)

    Este file contém os graphs em format RAW. No meu Galaxy S3 continha 4 bytes por pixel. Se você precisa saber quantos bytes você deve ler paira obter sua canvas atual (apenas 1 quadro), você precisa fazer a math. Minha canvas é de 720×1280 pixels.

    Por isso, eu preciso ler:

    720 x 1280 pixels = 921,600 pixels

    921,600 pixels * 4 bytes por pixel = 3,686,400 bytes

    Deste modo, você pode extrair cada canal de colors e fazer os cálculos que você precisa. O método paira ler os dados depende realmente de você. Você pode escreview um código nativo do código paira ler o buffer e fazer manipulações. Ou você pode ler o buffer do código Android com um stream de input.

    Dependendo da ROM cairregada no seu dispositivo, você pode precisair de root paira acessair este file (a maioria dos casos você precisairá de root)

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.