- Log.e(TAG, "surfaceChanged");
- //if(mCamera==null) return;
- //Camera.Parameters parameters=mCamera.getParameters();
- //parameters.setPreviewSize(640,480);
- //parameters.setPictureSize(640,480);
- //mCamera.setParameters(parameters);
-
- //try{
- //Thread.sleep(10000);
- /*Log.e(TAG, "xxxxxxxxxxxxxx");
- mExecutor.execute(new Runnable() {
- @Override
- public void run() {
- mCamera.startPreview();
- final Button btn = findViewById(R.id.button);
- Camera.Parameters params = mCamera.getParameters();
- ffmpeg.init(params.getPictureSize().width, params.getPictureSize().height);
- }
- });*/
-
- //btn.performClick();
- //} catch (InterruptedException e){
- // e.printStackTrace();
- //}
-
-
-
- //Camera.Parameters params = mCamera.getParameters();
- //ffmpeg.init(params.getPictureSize().width, params.getPictureSize().height);
- /*Thread t = new Thread(new Runnable() {
- @Override
- public void run() {
- ffmpeg.play(mHolder.getSurface(),"/storage/emulated/0/Movies/output.flv");
-
- }
- });*/
-
- }
-
- @Override
- public void surfaceDestroyed(SurfaceHolder holder){
- Log.e(TAG, "surfaceDestroyed");
- }
-
- private long encodeCount = 0;
- private long count = 0;
- private long previewTime;
- // Camera.PreviewCallback
- @Override
- public void onPreviewFrame(final byte[] data, Camera camera){
- /*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);*/
-
-
- /*long 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(0);
- Camera.Parameters params = c.getParameters();
- Log.e(TAG, "Camera parameters: " + params.getPreviewSize().width + "x" + params.getPreviewSize().height);
- Log.e(TAG, "Preview format (17 is NV21): " + params.getPreviewFormat() + ". Picture format(256 is JPEG): " + params.getPictureFormat());
- List<int[]> fps = params.getSupportedPreviewFpsRange();
- for(int[] i : fps){
- Log.e(TAG, "### fps range : [" + i[0] + "," + i[1] + "]\n");
- }
-
-
-
- Camera.Parameters parameters = c.getParameters();
-
- List<Camera.Size> sizes = parameters.getSupportedPictureSizes();
- for (Camera.Size cc : sizes){
- Log.e(TAG, "=== width: " + cc.width + ". height:" + cc.height);
- }
- Camera.Size cs = sizes.get(3);
- //params.setPreviewSize(cs.width, cs.height);
- params.setPictureSize(cs.width, cs.height);
- //params.setPictureFormat(ImageFormat.NV21);
- c.setParameters(params);