我的布局上有多个imageView,想要同时在所有Imageview上打开相机。并涉及摩擦计时器。因此,用户将移动他的设备,照片将在单击“开始捕获”按钮上逐个捕获并在ImageView上显示。像相机将同时打开,第一个imageview将捕获照片,它将在该imageview上显示,然后在第二个imageView将在下一个2秒捕获照片,并显示在此imageview等等....
我已经通过默认相机通过传递意图应用了拍照,它将在另一个屏幕上打开相机并拍摄照片将保存在SD卡中然后我们拍摄图像,并且在调整大小后将保存在该特定的图像上,所以请不要告诉我以这种方式申请。我不想要这个。我想要的就是上面提到的。
更新
我使用相机API执行此任务,遵循我应用的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_live_cam);
pic = (ImageView)findViewById(R.id.imageView1);
cameraObject = isCameraAvailiable();
showCamera = new ShowCamera(this, cameraObject);
RelativeLayout preview = (RelativeLayout) findViewById(R.id.camera_preview);
preview.addView(showCamera);
}
这里ShowCamera是我的类,我实现了SurfaceHolder.Callback。并编写了所有与相机相关的操作。我在相对布局上添加了相机。它工作正常,但我想打开相机并在ImageView上执行所有操作。我应该在这里应用什么技巧来做到这一点。请帮忙..
更新
我们可以像ios一样同时在多个ImageView上打开相机。我们可以获得不同的相机图像帧或预览并在不同的ImageView上设置它们。这样用户就可以感觉到同时打开了多个摄像头。
我正在使用此链接 Fliping the Front Camera to Back Camera in Button Click using android
通过这个我可以打开相机并从后到前切换相机。但在这个问题中,我没有得到xml布局文件。我没有得到如何在不同的imageView上打开相机。
但是通过相同的id如何用不同的imageView处理它。
答案 0 :(得分:0)
如果您引用this教程,请按照以下步骤进行操作
每两秒钟呼叫需要Timer
-
camera.takePicture(null, null,
new PhotoHandler(getApplicationContext()));
。
将拍摄照片,您将收到回传
@Override
public void onPictureTaken(byte[] data, Camera camera) {
//Set data to ImageView here
}
由于您需要大量ImageViews
,因此最好使用GridView
并将照片设置为onPictureTaken
方法中的项目。