surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)已经被弃用。

3
我正在使用MediaRecorder捕获视频。 以下是代码的一部分。
    surfaceView = (SurfaceView) findViewById(R.id.surface_camera);
    mCamera = Camera.open();

    surfaceHolder = surfaceView.getHolder();
    surfaceHolder.addCallback(this);
    surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

但是surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);已经被弃用了。有没有其他方法来代替这个方法。我想在所有版本中运行我的代码。


1
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS) 从 API 级别 11 开始已被弃用,但我也使用它制作了一个应用程序,它可以在 Android 4.0 和 4.1 操作系统上运行。我也在寻找替代方案,但没有成功。 - Auto-Droid ツ
可能稍后会遇到一些问题。 - Ameer
当需要时,该值会自动设置。这是Android文档中所说的。但如果低于蜂窝版本,则应该手动设置它。 - Jimit Patel
1个回答

4

您可以检查SDK版本,并仅在旧版本中调用SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)

    if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB)
        surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接