import android.os.AsyncTask;
import java.util.List;
import java.io.IOException;
+import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
}
});
- this.mCamera = getCameraInstance();
+ /*this.mCamera = getCameraInstance();
if(checkCameraHardware(this)) Log.e(TAG, "has cameras: " + Camera.getNumberOfCameras());
-
+*/
final SurfaceView surfaceView = findViewById(R.id.surfaceView);
mHolder = surfaceView.getHolder();
mHolder.addCallback(this);
//
- mCamera.setPreviewCallback(this);
+ //mCamera.setPreviewCallback(this);
/*try{
mCamera.setPreviewTexture(st);
e.printStackTrace();
}*/
+ final Button btn2 = findViewById(R.id.button2);
+ btn2.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View view){
+ Log.e(TAG, "onclick2");
+ //ffmpeg.play(mHolder.getSurface(),"/storage/sdcard0/output.flv");
+ ffmpeg.push(mHolder.getSurface());
+
+ }
+
+ });
+
+ Log.e(TAG, "onclick2");
+ //ffmpeg.play(mHolder.getSurface(),"/storage/emulated/0/Movies/output.flv");
+ //ffmpeg.play(mHolder.getSurface(),"/data/local/tmp/big_buck_bunny_720p_10mb.mp4");
+
+
+ btn2.post(new Runnable(){
+ @Override
+ public void run() {
+ btn2.performClick();
+ }
+ });
+
+
}
- SurfaceTexture st = new SurfaceTexture(0);
+ //SurfaceTexture st = new SurfaceTexture(0);
@Override
@Override
public void surfaceCreated(final SurfaceHolder holder){
Log.e(TAG,"SurfacedCreated");
- try {
+ /*try {
mCamera.setPreviewDisplay(holder);
- //mCamera.startPreview();
+ mCamera.startPreview();
} catch (IOException e) {
Log.d(TAG, "Error setting camera preview: " + e.getMessage());
- }
+ }*/
}
@Override
//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
mStreamTask.execute((Void)null);*/
- long endTime = System.currentTimeMillis();
+ /*long endTime = System.currentTimeMillis();
mExecutor.execute(new Runnable() {
@Override
public void run() {
});
Log.e(TAG, "采集第:" + (++count) + "帧,距上一帧间隔时间:"
+ (endTime - previewTime) + " " + Thread.currentThread().getName());
- previewTime = endTime;
+ previewTime = endTime;*/
}
c = Camera.open(0);
Camera.Parameters params = c.getParameters();
Log.e(TAG, "Camera parameters: " + params.getPreviewSize().width + "x" + params.getPreviewSize().height);
- // NV21 : 17, JPEG 256
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){
Camera.Parameters parameters = c.getParameters();
- //List<Camera.Size> sizes = parameters.getSupportedPreviewSizes();
+
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.setPreviewSize(cs.width, cs.height);
params.setPictureSize(cs.width, cs.height);
- params.setPictureFormat(ImageFormat.NV21);
+ //params.setPictureFormat(ImageFormat.NV21);
c.setParameters(params);
}
catch (Exception e){