qualcomm sdk の videoplayback でイメージ ターゲットとビデオを変更するにはどうすればよいですか。2 つの新しいターゲット イメージの dat ファイルと xml ファイルを取得しましたが、これらのイメージ ターゲットのビデオを再生できるようになりました。再生動画対応。
2 に答える
新しい画像を追跡して新しいビデオを再生するだけの場合は、次の手順を実行します。
新しいターゲット イメージの場合:
android videoplayback サンプル プロジェクトのアセット フォルダーの dat と xml を、Vuforia trackermaneger サイトからダウンロードした自分の dat と xml に置き換えます。JNI コードを再度ビルドしたくない場合は、それらの名前をデフォルトに変更することを忘れないでください。
新しいビデオを再生するには: アセット フォルダ内のビデオ ファイルを同じ名前に置き換えるか、(これをお勧めします) ビデオ リンクとして任意のサーバー URL を使用します。
Uri videolink = Uri.parse("http://commonsware.com/misc/test2.3gp");
mMediaPlayer.setDataSource(mParentActivity,videolink);
videoplaybackhelper クラスで
お役に立てれば
このための他の XML の参照と同じように、プロジェクトでこれらの XML の参照を指定する必要があります。これは、ImageTarget プロジェクトにもあるサンプルです。イメージ ターゲット プロジェクトでは、JNI Imagetarget.cpp にメソッドがあります。
Java_com_qualcomm_QCARSamples_Imagtargets_Imagetargets_loadTrackerData(JNIEnv *, jobject)
このメソッドは複数の XML ファイルを処理するため、複数の XML をロードする方法に役立ちます。
逆に、複数のマーカーを検出したいが、単一の XML と DAt ファイルを使用して、Vuforia Server からのターゲットを認識し、それを単一の Xml ファイルに結合してから、このように使用できます
static const int NUM_TARGETS =4;
static const int Test1 = 0;
static const int Test2 = 0;
static const int Test3 = 0;
static const int Test4 = 0;
static const int Test5 = 0;
そしてrenderframeメソッドでは、このように
if (strcmp(trackable->getName(), "Test1 ") == 0)
currentTarget=Test1 ;
if (strcmp(trackable->getName(), "Test2 ") == 0)
currentTarget=Test2 ;
if (strcmp(trackable->getName(), "Test3 ") == 0)
currentTarget=Test3 ;
if (strcmp(trackable->getName(), "Test4 ") == 0)
currentTarget=Test4 ;
if (strcmp(trackable->getName(), "Test5 ") == 0)
currentTarget=Test5 ;