X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fai%2Fsuanzi%2Frtmpclient%2FMainActivity.java;h=ca06f1f6e0440a09e9b57cb4291fa81c6d8798fa;hb=912af179748912e3488dd12e963f88a06a9d1c6c;hp=c309797dcb3b5586399263b9fb1231aa91950196;hpb=791f24bb2d6f4faa5ff14e29c518ca078e9743eb;p=rtmpclient.git diff --git a/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java b/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java index c309797..ca06f1f 100644 --- a/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java +++ b/app/src/main/java/ai/suanzi/rtmpclient/MainActivity.java @@ -16,6 +16,7 @@ import android.content.pm.PackageManager; 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; @@ -65,15 +66,15 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal } }); - 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); @@ -81,9 +82,34 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal 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 @@ -147,12 +173,12 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal @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 @@ -163,6 +189,37 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal //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 @@ -191,7 +248,7 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal mStreamTask.execute((Void)null);*/ - long endTime = System.currentTimeMillis(); + /*long endTime = System.currentTimeMillis(); mExecutor.execute(new Runnable() { @Override public void run() { @@ -202,7 +259,7 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal }); Log.e(TAG, "采集第:" + (++count) + "帧,距上一帧间隔时间:" + (endTime - previewTime) + " " + Thread.currentThread().getName()); - previewTime = endTime; + previewTime = endTime;*/ } @@ -218,7 +275,6 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal 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 fps = params.getSupportedPreviewFpsRange(); for(int[] i : fps){ @@ -228,15 +284,15 @@ public class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal Camera.Parameters parameters = c.getParameters(); - //List sizes = parameters.getSupportedPreviewSizes(); + List 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){