@Override public void onInit(GVRContext gvrContext) { GVRScene scene = gvrContext.getMainScene(); GVRSphereSceneObject sphere = new GVRSphereSceneObject(gvrContext, 72, 144, false); GVRMesh mesh = sphere.getRenderData().getMesh(); GVRVideoSceneObject video = new GVRVideoSceneObject( gvrContext, mesh, mPlayer, GVRVideoSceneObject.GVRVideoType.MONO ); video.getTransform().setScale(100f, 100f, 100f); video.setName( "video" ); scene.addSceneObject( video ); video.getMediaPlayer().start(); }
public void shadow() { float[] color = {0.4f, 0.4f, 0.4f}; mFlatVideo.getRenderData().getMaterial().setColor(color[0], color[1], color[2]); m360Video.getRenderData().getMaterial().setColor(color[0], color[1], color[2]); }
private GVRVideoSceneObjectPlayer<MediaPlayer> makeMediaPlayer() { final MediaPlayer mediaPlayer = new MediaPlayer(); try { final File file = new File(Environment.getExternalStorageDirectory() + "/gvr-360video/video.mp4"); if (!file.exists()) { final AssetFileDescriptor afd = getAssets().openFd("video.mp4"); android.util.Log.d("Minimal360Video", "Assets was found."); mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); android.util.Log.d("Minimal360Video", "DataSource was set."); afd.close(); } else { mediaPlayer.setDataSource(file.getAbsolutePath()); } mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); finish(); android.util.Log.e("Minimal360Video", "Assets were not loaded. Stopping application!"); return null; } mediaPlayer.setLooping(true); android.util.Log.d("Minimal360Video", "starting player."); return GVRVideoSceneObject.makePlayerInstance(mediaPlayer); }
private GVRVideoSceneObject createVideoObject(GVRContext gvrContext) throws IOException { final AssetFileDescriptor afd = gvrContext.getActivity().getAssets().openFd("tron.mp4"); final MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); mediaPlayer.prepare(); GVRVideoSceneObject video = new GVRVideoSceneObject(gvrContext, 8.0f, 4.0f, mediaPlayer, GVRVideoType.MONO); video.setName("video"); return video; }
private void createVideoSceneObject() { GVRExternalTexture texture = new GVRExternalTexture(mGvrContext); SurfaceTexture surfaceTexture = new SurfaceTexture(texture.getId()); Surface surface = new Surface(surfaceTexture); mMediaPlayer = new DefaultExoPlayer(ExoPlayerFactory.newSimpleInstance(mGvrContext.getContext(), new DefaultTrackSelector())); mMediaPlayer.getPlayer().addListener(mPlayerListener); mFlatVideo = new GVRVideoSceneObject(mGvrContext, mGvrContext.createQuad(1, .6f), mMediaPlayer, texture, GVRVideoType.MONO); mFlatVideo.attachCollider(new GVRMeshCollider(getGVRContext(), true)); mFlatVideo.getTransform().setScale(10, 10, 1); mFlatVideo.getTransform().setPositionZ(-8.1f); addChildObject(mFlatVideo); GVRSphereSceneObject sphere = new GVRSphereSceneObject(mGvrContext, 72, 144, false); m360Video = new GVRVideoSceneObject(mGvrContext, sphere.getRenderData().getMesh(), mMediaPlayer, texture, GVRVideoType.MONO); m360Video.getTransform().setScale(100f, 100f, 100f); addChildObject(m360Video); setFlatPlayer(); }
public void reposition(float[] newModelMatrix) { GVRTransform ownerTrans = mFlatVideo.getTransform(); float scaleX = ownerTrans.getScaleX(); float scaleY = ownerTrans.getScaleY(); float scaleZ = ownerTrans.getScaleZ(); ownerTrans.setModelMatrix(newModelMatrix); ownerTrans.setScale(scaleX, scaleY, scaleZ); ownerTrans.setPosition(newModelMatrix[8] * -8.1f, newModelMatrix[9] * -8.1f, newModelMatrix[10] * -8.1f); } }
private void createVideo() { video = new GVRVideoSceneObject(gvrContext, WIDTH, HEIGHT, mediaPlayer, GVRVideoType.MONO); focus = new FocusableSceneObject(gvrContext, WIDTH, HEIGHT, gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext, R.drawable.empty_clickable)));
public void onPause() { if (objectList.isEmpty()) { return; } GVRSceneObject object = objectList.get(currentObject); if (object instanceof GVRVideoSceneObject) { GVRVideoSceneObject video = (GVRVideoSceneObject) object; video.getMediaPlayer().pause(); } }
private void createSeekbar() { seekbar = new Seekbar(gvrContext, Seekbar.WIDTH, 0.05f, gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource( gvrContext, R.drawable.timeline_towatch))); seekbar.getTransform().setPosition(0.0f, -1.5f, video.getTransform().getPositionZ() + 0.1f); addChildObject(seekbar); }
public void onTap() { GVRSceneObject object = objectList.get(currentObject); object.setEnable(false); if (object instanceof GVRVideoSceneObject) { GVRVideoSceneObject video = (GVRVideoSceneObject) object; video.getMediaPlayer().pause(); } currentObject++; int totalObjects = objectList.size(); if (currentObject >= totalObjects) { currentObject = 0; } object = objectList.get(currentObject); if (object instanceof GVRVideoSceneObject) { GVRVideoSceneObject video = (GVRVideoSceneObject) object; video.getMediaPlayer().start(); } object.setEnable(true); } }
private void createButtonBoard() { buttonBoard = new ButtonBoard(gvrContext, 1.7f, .4f, gvrContext.getAssetLoader().loadTexture(new GVRAndroidResource(gvrContext.getActivity(), R.drawable.empty)), this); buttonBoard.getTransform().setPosition(0f, 0f, video.getTransform().getPositionZ() + 0.1f); addChildObject(buttonBoard); }
if (cameraObject != null) cameraObject.getTransform().setPosition(0.0f, 0.0f, -4.0f); videoObject.getTransform().setPosition(0.0f, 0.0f, -4.0f); textViewSceneObject.getTransform().setPosition(0.0f, 0.0f, -2.0f);