Я работаю над мобильным приложением для Android, ориентированным на расширенную визуализацию обзора камеры дрона в режиме реального времени (в частности, я работаю над DJI Phantom 3 Professional с соответствующим SDK). Я использую платформу Wikitude для части AR. Каждый образец Wikitude работает, увеличивая обзор камеры смартфона, поэтому мне нужно перенаправить входной видеопоток. На данном этапе, используя возможности DJI SDK, у меня есть объект TextureView, содержащий корректно декодированный поток, исходящий от дрона. Ниже приведены относительные инструкции в верхней части XML-файла текущего представления:
<TextureView
android:id="@+id/video_previewer_surface"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_centerHorizontal="true"
android:layout_above="@+id/linearLayout" />
На самом деле Wikitude Architect View состоит из рендеринга потока камеры и рендеринга дополнений, как показано на следующем рисунке: Композиция архитектурного представления
файл sample_cam.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<com.wikitude.architect.ArchitectView
android:id="@+id/architectView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
Есть ли способ заменить текущий поток камеры Wikitude Architect View содержимым моего TextureView?
В качестве альтернативы, есть ли способ сделать поток камеры ArchitectView прозрачным фоном, чтобы этот слой перекрывался с TextureView?
Следующее может быть частью кода окончательного XML-файла:
<TextureView
android:id="@+id/video_previewer_surface"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_centerHorizontal="true"
android:layout_above="@+id/linearLayout" />
<com.wikitude.architect.ArchitectView // with transparent background for camera
android:id="@+id/architectView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>