public class ShowVideo extends SurfaceView implements Callback { Camera cam; SurfaceHolder holder; public OutputStream out; public InputStream input; public FriendVideo friend; public ShowVideo(Context context, AttributeSet attrs) { super(context, attrs); holder = this.getHolder(); holder.addCallback(this); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); // TODO Auto-generated constructor stub }
@Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub Camera.Parameters param = cam.getParameters(); param.set("ORIENTATION", "PORTRAIT"); param.set("ROTATION", -90); param.setSceneMode("portrait"); param.setPreviewSize(width, height); List<Camera.Size> reviewSizes = param.getSupportedPreviewSizes(); param.setPreviewFrameRate(3); try { cam.setParameters(param); } catch (Exception e) { // TODO: handle exception } cam.setPreviewCallback(new StreamIt(this.getContext())); cam.startPreview(); }
@Override public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub cam = Camera.open(); try { cam.setPreviewDisplay(holder);
} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); cam.release(); cam = null; } // int ret = MetroEncoderJNI.VideoInit(176, 144, 2, 4, 64, 4);