0

Bild verfügbar Hörer nimmt ein Bild des Fragments und onimageavailble() wird kontinuierlich aufgerufen, sobald das Bild verfügbar ist. Eine Instanz des Codes ist wie folgt:Image Listener kann Bild aus dem Fragment nicht auswählen

protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(null); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, 
      WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    setContentView(R.layout.activity_camera); 
    setFragment(); 
} 

Der setFragment() Code ist:

protected void setFragment() { 
     final Fragment fragment = 
      CameraConnectionFragment.newInstance(
       new CameraConnectionFragment.ConnectionCallback() { 
        @Override 
        public void onPreviewSizeChosen(final Size size, final int rotation) { 
        CameraActivity.this.onPreviewSizeChosen(size, rotation); 

        } 
       }, 
       this, 
       getLayoutId(), 
       getDesiredPreviewFrameSize()); 
     getFragmentManager() 
      .beginTransaction() 
      .replace(R.id.container, fragment) 
      .commit(); 
    } 

Der Code läuft korrekt auf Android und so wollte ich es auf Android Dinge Gerät implementieren, aber ich war immer ein Warnung mit 'Ein TextureView oder eine Unterklasse kann nur mit aktivierter Hardwarebeschleunigung verwendet werden' und der onimageavailble() wird nie aufgerufen. Ich habe die erforderlichen Änderungen im Code vorgenommen, um die Warnung zu beheben, aber onimageavailble() wird nie aufgerufen.

Beim Debuggen des Codes in Raspberry Pi3 für Android-Dinge, habe ich festgestellt, dass Kamera-Stream wird nicht in dem Fragment angezeigt, wegen der Bild-Listener ist nicht in der Lage, einen auszuwählen.

Bitte senden Sie mir die Lösung für dieses Problem

+2

Welche Version von Android Things verwenden Sie? –

+0

Die Version ist Android Things 3 –

Antwort

1

Sie WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED verwenden (mit AndroidThings 0.3.0)

Hardwarebeschleunigung für die R Pi nur in AndroidThings eingeführt wurde 0.5.0

in den Release Notes hier:

https://developer.android.com/things/preview/releases.html

Mit dem Update auf Android O wird OpenGL ES 2.0 jetzt unterstützt. Plattformen mit einer GPU (wie Raspberry Pi 3) unterstützen jetzt auch Hardware-Beschleunigung.

Bitte aktualisieren Sie die Version von AndroidThings, die Sie verwenden.

+0

Ich aktualisierte auf Android-Version 0.5.0, aber ich bin nicht in der Lage, irgendeine Anzeige von der Raspberry Pi3-Gerät auf meinem Monitor, was früher nicht der Fall war. Nicht einmal der Startbildschirm wird angezeigt. Alles, was ich jetzt sehen kann, ist ein schwarzer Bildschirm. Auflösung meines Bildschirms ist 1366 * 768 –

Verwandte Themen