Rajawali を使用して 360 ビデオを再生する方法を理解するのに苦労しています。これを達成するために、インターネットで見つけられるすべての解決策を試しましたが、失敗しました。
まず、RajawaliCardboard を使用し、MainActivity を から拡張しCardboardActivity
ます。同時に、MyRenderer
クラスでは、このクラスをクラスから拡張させRajawaliCardboardRenderer
ます。MyRenderer
クラスでは、関数をオーバーライドしましたinitScene()
。
protected void initScene() {
StreamingTexture mTexture = null;
if (externalMemoryAvailable())
{
mVideoPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/testVideo.mp4";
try{
mPlayer = new MediaPlayer();
mPlayer.setDataSource(mVideoPath);
}catch(IllegalArgumentException e){
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mPlayer.prepare();
} catch (IOException t) {
t.printStackTrace();
}
mTexture = new StreamingTexture("video", mPlayer);
}
Sphere sphere = createPhotoSphereWithTexture(mTexture);
getCurrentScene().addChild(sphere);
getCurrentCamera().setPosition(Vector3.ZERO);
getCurrentCamera().setFieldOfView(75);
}
private Sphere createPhotoSphereWithTexture(ATexture texture) {
Material material = new Material();
material.setColor(0);
try {
material.addTexture(texture);
} catch (ATexture.TextureException e) {
throw new RuntimeException(e);
}
Sphere sphere = new Sphere(50, 64, 32);
sphere.setScaleX(-1);
sphere.setMaterial(material);
return sphere;
}
プログラムはエラーなしで実行できますが、画面は黒く、画像はありません。
プログラムを改善するために何をすべきか、Rajawali を使用してビデオを再生するために何をすべきかを知りたいです。誰が私を助けることができます?