- public void surfaceChanged(SurfaceHolder holder, int format, int widht, int height){
- gLogger.error("surfaceChanged");
- try {
- mCamera.setPreviewDisplay(holder);
- mCamera.startPreview();
- } catch (Exception e){
- gLogger.error("Error starting camera previewe: " + e.getMessage());
- Toast.makeText(this, "Camera Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
- }
- }
-
- @Override
- public void surfaceDestroyed(SurfaceHolder holder){
- Log.e(TAG, "surfaceDestroyed");
- }
-
- @Override
- public void onPreviewFrame(final byte[] data, Camera camera){
- gLogger.error("onPreviewFrame");
- if (null != mStreamTask){
- switch (mStreamTask.getStatus()){
- case RUNNING:
- Log.e(TAG, "onPreviewFrame Running");
- return;
- case PENDING:
- Log.e(TAG,"OnPreviewFrame Pending");
- mStreamTask.cancel(false);
- break;
- }
- }
- mStreamTask = new StreamTask(data);
- mStreamTask.execute((Void)null);
-
-
-// ong endTime = System.currentTimeMillis();
-// mExecutor.execute(new Runnable() {
-// @Override
-// public void run() {
-// //long encodeTime = System.currentTimeMillis();
-// ffmpeg.process(data);
- //Log.e(TAG, "编码第:" + (encodeCount++) + "帧,耗时:" + (System.currentTimeMillis() - encodeTime));
-// }
-// });
- //Log.e(TAG, "采集第:" + (++count) + "帧,距上一帧间隔时间:"
-// + (endTime - previewTime) + " " + Thread.currentThread().getName());
-// previewTime = endTime;*/
-
- }
-
- // private
- private boolean checkCameraHardware(Context context) {
- return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA);
- }
-
- private static Camera getCameraInstance(){
- Camera c = null;
- try {
- Log.e(TAG, "Open Camera");
- c = Camera.open(1);
- } catch (Exception e){
- e.printStackTrace();
- }
- return c;
- }
-
- private void configCamera(Camera camera){
- Camera.Parameters paras = camera.getParameters();
- gLogger.error("Supported Picture Sizes:");
- for (Camera.Size cc : paras.getSupportedPictureSizes()){
- gLogger.error(cc.width + "x" + cc.height);
- }
- gLogger.error("Supported Preview fps range:");
- for(int[] i : paras.getSupportedPreviewFpsRange()){
- gLogger.error("[" + i[0] + "," + i[1] + "]");
- }
- gLogger.error("Set parameters");
- camera.setParameters(paras);
- camera.setDisplayOrientation(0);
- gLogger.error("Preview Format: " + paras.getPreviewFormat() + ". Size: " + paras.getPreviewSize().width + "x" + paras.getPreviewSize().height);
- gLogger.error("Picture Format: " + paras.getPictureFormat() + ". Size: " + paras.getPictureSize().width + "x" + paras.getPictureSize().height);
-
- try {
- camera.setPreviewDisplay(mHolder);
- } catch (IOException e){
- e.printStackTrace();
- }
- camera.setPreviewCallback(this);
- }
-
- private void switchToBackground(){
- Intent i = new Intent();
- i.setAction(Intent.ACTION_MAIN);
- i.addCategory(Intent.CATEGORY_HOME);
- this.startActivity(i);