小编Zam*_*mar的帖子

SurfaceView -> Surface 没有有效的原生窗口 | 安卓相机API | 硬件.camera2

我在最新的相机 API 上使用 Android 开发的 SurfaceView 类时遇到了麻烦。我已经仔细检查过我的最低 API 级别是 21。

我已经通过两种方式解决了这个问题,一种是在 XML 中创建 SurfaceView,然后将它的值赋予我的私有 SurfaceView 或使用公共构造函数创建它。

使用 SurfaceView,我可以使用 getHolder() 获取 SurfaceHolder,然后使用 getSurface() 获取 Surface。

在我发布的代码中,我只是使用公共构造函数创建它。

此 SurfaceView 应该使用createCaptureSession()放置相机的预览

这是我的代码,它是我昨天在另一个项目中尝试后尝试的快速类实现。检查 MainActivity 和 onOpened() 的 onCreate(),那里是使用 SurfaceView 的地方。

package com.example.universitywork.canyouwork;
/* IMPORTS */ 

public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback {
// CREAMOS CLASES
private CameraManager mManager;
private CameraDevice cDevice;
private CaptureRequest cRequest;
private Handler handle = new Handler();
private SurfaceView surface;
private SurfaceHolder holder;
private Surface under; …
Run Code Online (Sandbox Code Playgroud)

java android

3
推荐指数
1
解决办法
5512
查看次数

标签 统计

android ×1

java ×1