如何在 Google Cardboard 的 GvrView 中添加 image/video 小部件?

How to add image/video widget in GvrView of Google Cardboard?

我是 google 纸板的新手,正在尝试实现一个非常简单的演示。 我曾分别尝试使用 VrVideowidget 和 panowidget,但未能使用 GvrView 实现它。下面给出了我使用代码和输出的工作。

我已经添加了一个自动提供分屏的 GvrView,之后我想在每个屏幕中添加相同的 image/video 以便它可以很好地显示在 google 纸板上。我通过 addView() 添加的视图在两个屏幕上显示为单个而不是两个。我已经在 onDrawEye() 上添加了它。请帮我重新爱。

我的最终目标是在具有所需功能的 Google Cardboard 上创建 image/video 的非常基本的演示。

MainActivity.java

public class MainActivity extends GvrActivity implements GvrView.StereoRenderer {


    GvrView gvrView;

    private ImageView imageView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        imageView = new ImageView(this);

        gvrView = new GvrView(this);

        gvrView.setRenderer(this);

        setContentView(gvrView);

    }

 @Override
    public void onDrawEye(Eye eye) {

        imageView.setImageResource(R.drawable.ic_launcher);
       // gvrView.addView(imageView);
        gvrView.addView(imageView,400,400);

    }
}

使用VrPanoramaView代替,代码示例如下:

在您的项目中添加 panowidget 库

import com.google.vr.sdk.widgets.pano.VrPanoramaView;

VrPanoramaView panoWidgetView = (VrPanoramaView) findViewById(R.id.pano_view);
panoWidgetView.loadImageFromBitmap(img,null);
panoWidgetView.resumeRendering();

我不是专家,但我的理解是您使用 onDrawEye 来渲染特定于单个眼睛的图像,而您使用 onNewFrame() 来进行 non-eye 特定的渲染。 好感动

imageView.setImageResource(R.drawable.ic_launcher);
       // gvrView.addView(imageView);
        gvrView.addView(imageView,400,400);

onNewFrame() 应该足够了。