2017-09-05 8 views
2

私はReactNativeで簡単なARアプリケーションを作成しようとしていますが、カメラのライブプレビューの境界として四角形を描画して四角形を描くだけで、C++で処理しようとしていますopencvを使って、アプリケーションのロジックをAndroid & IOSの両方にアクセスできる1か所に持たせます。ここ は、私がこの単純なReactNative ARアプリケーションを設計する最良の方法は何ですか?

  1. を考えてきたものだ& Cカメラを開き、(Javaの/にObjC)の権限を取得するためにOS依存のコードを書く++フレームごとに処理を行う部分を。

  2. 各フレームで(ネイティブコード内から)C++コードを呼び出すと、マーカーに座標が返されるはずです。

  3. ネイティブコードのプレビューで4つのマーカーが見つかった場合は、rectを描画します(これまでのところこれを実現する方法はありませんが、ネイティブコードと思われます)。

  4. ReactNativeへのプレビュー(描画されたビューでのライブプレビュー)(これについてまたはその達成方法についてはわかりません) 反応したネイティブのカメラコンポーネントを見ましたが、フレームへのアクセスはできません&これが可能であれば、JS & java/ObjCとの間でブリッジを介してフレームを送信することをお勧めしますか? 問題は、パフォーマンスがわからない、またはそれが可能なのかどうかということです。 あなたが素晴らしいReactNativeライブラリを知っていれば 。

答えて

1

C++でフレームを処理した後、iOSでアプリケーションプロパティRCTRootView.appPropertiesを設定し、AndroidでRCTDeviceEventEmitterを使用してイベントを送出する必要があります。したがって、iOSのC++コード用のObjective-CラッパーとAndroid用のJavaラッパーが必要です。どちらの場合でも、実際にカメラのプレビューの上に矩形を描くために、同じReact Nativeコードを使用できるはずです。 React Nativeカメラコンポーネントにはカメラから個々のフレームを取得するためのAPIがないので、各プラットフォーム用にそのコードをネイティブに記述する必要があります。

関連する問題