2013-10-15 84 views
3

我使用MediaRecorder捕獲視頻。代碼的一部分在下面給出。我不贊成使用surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)

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 depricated,但我一直在使用它也做了一個應用程序,但它在4.0和4.1 Android操作系統的作品,我也尋找一種替代,但沒有成功 –

+0

以後可能會出現一些問題 – Ameer

+0

該值在需要時自動設置。這就是文檔爲android所說的。但如果它小於蜂窩,那麼你應該設置它 –

回答

2

您可以檢查SDK版本,並且只爲老版本調用SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)

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