私は、無人機のモバイルアプリで、無人機のカメラビューをリアルタイムで視覚化するように取り組んでいます(特に、DJI Phantom 3 Professionalで相対SDK)。私はAR部分にWikitudeフレームワークを使用しています。すべてのWikitudeサンプルは、スマートフォンのカメラビューを増強することによって機能するので、入力ビデオストリームをリダイレクトする必要があります。この段階では、DJI SDKの機能を使用して、私は無人機から来る正しくデコードされたストリームを含むTextureViewオブジェクトを持っています。に示すように、Wikitude ArchitectViewのカメラストリームを外部ビデオストリームに置き換えます。
<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アーキテクトのビューはカメラストリームおよび増強のレンダリングのレンダリングによって構成されています。次 は、現在のビューの.xmlファイルの先頭に相対的な命令です次の図: Architect View Composition
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>
wがWikitudeアーキテクトビューの現在のカメラのストリームを交換する方法はあります私の内容は、TextureView?
また、このレイヤーをTextureViewにオーバーラップするために、透明な背景としてArchitectViewのカメラストリームを作成する方法がありますか?次
は.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"/>
入力プラグインで問題が発生しているようです。 NV21の代わりにYV12形式のフレームデータを渡すようにしてください。 – Alex