我很难弄清楚如何使用 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 来播放视频。谁能帮我?