请加QQ:332086424直接有文件下载
本文件使用的是AS编写,测试使用的是pix3 谷歌手机,华为mate手机我测试不行,欢迎补充,多路录像还在继续研究
谷歌手机pix3 测试,手动打开权限,代码中没有打开权限
package com.example.doublecamera;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.hardware.Camera;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
private SurfaceView sfv1;
private SurfaceView sfv2;
private Button btn;
private Button btn1;
private Camera mcamera = null;
private SurfaceHolder mSurfaceHolder;
private SurfaceHolder mSurfaceHolder1;
private Context mContext;
private boolean bool;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.mContext = super.getBaseContext();
sfv1 = (SurfaceView) findViewById(R.id.sfv1);
sfv2 = (SurfaceView) findViewById(R.id.sfv2);
btn = (Button) findViewById(R.id.btn);
btn1 = (Button) findViewById(R.id.btn1);
this.mSurfaceHolder = this.sfv1.getHolder();
this.mSurfaceHolder.addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
// TODO Auto-generated method stub
Camera mcamera = Camera.open(0);
mcamera.setDisplayOrientation(90);
try {
mcamera.setPreviewDisplay(mSurfaceHolder);
mcamera.startPreview();
return;
} catch (IOException localIOException) {
localIOException.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
});
this.mSurfaceHolder.setType(3);
this.mSurfaceHolder1 = this.sfv2.getHolder();
this.mSurfaceHolder1.addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
// TODO Auto-generated method stub
Camera mcamera = Camera.open(1);
mcamera.setDisplayOrientation(90);
try {
mcamera.setPreviewDisplay(mSurfaceHolder1);
mcamera.startPreview();
return;
} catch (IOException localIOException) {
localIOException.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
});
this.mSurfaceHolder1.setType(3);
Log.d("lyb", "btn onclick");
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
}