【问题标题】:How to add image/video widget in GvrView of Google Cardboard?如何在 Google Cardboard 的 GvrView 中添加图像/视频小部件?
【发布时间】:2016-06-27 15:14:10
【问题描述】:

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

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

我的最终目标是在具有所需功能的 Google Cardboard 上创建一个非常基本的图像/视频演示。

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);

    }
}

【问题讨论】:

    标签: android google-cardboard


    【解决方案1】:

    改用VrPanoramaView,代码示例如下:

    在您的项目中添加 panowidget 库

    import com.google.vr.sdk.widgets.pano.VrPanoramaView;
    
    VrPanoramaView panoWidgetView = (VrPanoramaView) findViewById(R.id.pano_view);
    panoWidgetView.loadImageFromBitmap(img,null);
    panoWidgetView.resumeRendering();
    

    【讨论】:

    • 哦,我现在正在做一些其他的项目,一旦我实施它会通知你
    【解决方案2】:

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

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

    到 onNewFrame() 就足够了。

    【讨论】:

    • 哦,我现在正在做一些其他的项目,一旦我实施它会通知你的。
    猜你喜欢
    • 2015-05-29
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多