我正在开发一款Android应用程序,用于从相机中获取帧,对其进行处理,然后通过SurfaceView显示帧,并通过画布和drawBitmap在SurfaceView上绘制。请问,使用SurfaceView、位图和画布是否是最佳方法?我需要速度。
假设上述答案是肯定的,那么问题就是:我应该把以下函数放在哪里?
我应该将它放在 onCreate() 中还是放在 surfaceCreated() 或 surfaceChanged() 中?
我的 MainActivity 类定义如下:
但它从未被调用。我应该尝试使用这个函数吗?使用它是否更好?还是这只是Eclipse的一个东西?
请给予建议。
假设上述答案是肯定的,那么问题就是:我应该把以下函数放在哪里?
camera_object.setPreviewCallback(new PreviewCallback()
public void onPreviewFrame(byte[] data, Camera camera){
我应该将它放在 onCreate() 中还是放在 surfaceCreated() 或 surfaceChanged() 中?
我的 MainActivity 类定义如下:
public class MainActivity extends Activity implements SurfaceHolder.Callback, Camera.PreviewCallback
{
在那个类中,Eclipse强制我创建一个MainActivity类中onpreviewframe的覆盖函数,如下所示:
public void onPreviewFrame(byte[] data, Camera camera){
}
但它从未被调用。我应该尝试使用这个函数吗?使用它是否更好?还是这只是Eclipse的一个东西?
请给予建议。
surface_view = (SurfaceView) findViewById(R.id.surfaceview1);
surface_holder = surface_view.getHolder();
surface_holder.addCallback(this);
以及camera_object.startPreview();
但我不使用camera_object.setPreviewDisplay(surface_holder);
,因为我不想显示实际的帧,我只想显示来自回调的帧。我会检查一下SurfaceTexture,它看起来非常有前途。 - Mohamed Heiba