嗨我在我的活动中使用这段代码用于相机.
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PICTURE_WITH_CAMERA) {
if (resultCode == Activity.RESULT_OK) {
// To Write the Images in SDCard
File f = new File(imgName);
try {
Uri capturedImage = Uri
.parse(android.provider.MediaStore.Images.Media
.insertImage(getContentResolver(),
f.getAbsolutePath(), null, null));
Log.i("camera",
"Selected image: " + capturedImage.toString());
pic.setImageURI(capturedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} else {
Log.i("Camera", "Result code was " + resultCode);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将捕获的图像应用到我的身上ImageView.第一次,相机拍照并将其设置为ImageView.但是当我第二次运行它时,我的应用程序无法将新捕获的图像设置为imageView.从相机意图返回后它崩溃了.我怎么解决这个问题?任何帮助表示赞赏.
我希望在两个独立的API级别上使用Android的Camera.open()方法.首先是API级别7,它是2.1和更高,第二个是2.3.3和2.3.4,它们是API级别9.
在API级别7和8上,Camera.open方法不接受任何参数.在API级别9及更高级别,摄像机采用整数参数,为其提供要使用的cameraId.
如何在同一代码中定位两个API级别?与此伪代码类似的东西:
Camera lCamera;
if (Platform.APILevel < 7){
lCamera.open();
}else {
lCamera.open(0);
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个人脸识别应用程序.我需要在我的相机界面上显示一个小的虚线圆圈,以放置人的脸部,这样用户可以训练应用程序,而不是拍摄不同比例的照片.我按照"此链接",但我不知道如何在相机界面上这样做.那么有人可以上传一个示例项目或给我一些继续我的项目吗?提前致谢..
编辑-2013-02-14
确定代码正常工作.但我还有另外两个问题.
我可以画圆圈.但它始终不在同一个位置.当屏幕尺寸改变时,它的位置总是在变化.我尝试使用getWidht()和getHeight()方法,但我无法在屏幕中央绘制圆圈.你对此有什么想法吗?
根据你的回答,我必须以编程方式创建所有视图.所以现在我需要在我的界面上添加一个捕获按钮.你可以用你的答案解释一下吗?
在我的应用程序中,我具有计时器驱动的视频录制功能。当相机处于录制模式时,如果我单击屏幕上任意位置的按钮,则录制应暂停。我应该能够在再次单击时继续记录。
但在许多android设备中都没有暂停录制视频的动作。
还有其他方法吗?我找到了此链接,但没有给我任何希望。
有谁能够帮助我?
想要拍摄照片,裁剪并将图像保存在Android应用程序中时,我在Java中使用以下意图...
Intent camera=new Intent();
camera.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
camera.putExtra("crop", "true");
camera.putExtra("outputX",600);
camera.putExtra("outputY", 600);
camera.putExtra("aspectX", 1);
camera.putExtra("aspectY", 1);
camera.putExtra("scale", true);
camera.putExtra("return-data", false);
Run Code Online (Sandbox Code Playgroud)
上述意图效果很好,但我的Y和X总是相等的.我打算分解代码,找出指定的内容,这样我就可以为我拍摄的图像制作可定制的 - 最重要的是独立的 - X和Y值...
android crop android-camera android-camera-intent resize-crop
我正在尝试使用Camera的onPreviewFrame回调来学习编码mp4或任何类型的视频文件.
目前,我正在尝试这篇文章中的示例代码
使用Android MediaCodec从摄像头编码H.264
不幸的是,我一直在收到IllegalException
mediaCodec.configure(mediaFormat,null,null,MediaCodec.CONFIGURE_FLAG_ENCODE);
从MediaCodec.configure Android的另一篇文章 IllegalStateException,我注意到我必须为MediaCodec设置一些强制值.
我尝试了所有强制性mediacodec的强制性值,但仍然没有过去的运气
IllegalException.
现在我有点想要尝试的想法.任何建议,意见或提示将不胜感激.
谢谢
11-04 12:27:14.785 175-894/? E/mm-libcamera2? PROFILE HAL: stopPreview(): E: 1383596834.803557773
11-04 12:27:14.795 175-175/? E/OMXNodeInstance? !!! Observer died. Quickly, do something, ... anything...
11-04 12:27:14.795 208-5797/? E/mm-camera? config_shutdown_pp Camera not in streaming mode. Returning.
11-04 12:27:14.795 208-5797/? E/mm-camera? vfe_ops_deinit: E
11-04 12:27:14.825 175-5814/? E/OMX-VENC-720p? ioctl VEN_IOCTL_CMD_READ_NEXT_MSG failed
11-04 12:27:14.825 175-175/? E/OMX-VENC-720p? Destroy C2D instance
11-04 12:27:14.835 527-539/? E/qcom_sensors_hal? hal_process_report_ind: Bad item quality: 11
11-04 12:28:17.642 6241-6247/? …Run Code Online (Sandbox Code Playgroud) 我有一个Android项目的问题,我们的相机预览停止,但只有在手机被锁定然后解锁,它也无法拍照,这个问题让我真的难倒,我一直无法找到任何信息关于互联网上的这个错误,似乎正在做所有教程/其他堆栈溢出问题的状态:
@Override
protected void onResume() {
super.onResume();
mPreview.setVisibility(View.VISIBLE);
//Open the default i.e. the first rear facing camera.
mCamera = Camera.open();
try{
mCamera.reconnect();
} catch(Exception ex) {
}
mCamera.startPreview();
cameraCurrentlyLocked = defaultCameraId;
mPreview.setCamera(mCamera);
}
@Override
protected void onPause() {
super.onPause();
mPreview.setVisibility(View.GONE);
//Because the Camera object is a shared resource, it's very
//Important to release it when the activity is paused.
if (mCamera != null) {
mPreview.setCamera(null);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}
Run Code Online (Sandbox Code Playgroud)
错误(拍照时)如下:
02-25 13:26:20.710: W/dalvikvm(17873): threadid=1: thread exiting with …Run Code Online (Sandbox Code Playgroud) 我使用相机api,拍摄的照片总是旋转90度,我想旋转它.
首先,我想知道图片的方向,这一点我卡住了.我总是以两种方式获得UNDEFINDED方向.
这是代码:
@Override
public void onPictureTaken(byte[] data, Camera camera) {
//Bitmap Options for lowering quality the bitmap to save memory
Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
options.inPreferredConfig = Bitmap.Config.RGB_565;
//Make the bitmap
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options);
//Making the path, the root will be fine for tests
String path = Environment.getExternalStorageDirectory().toString();
//output stream
OutputStream outputStream = null;
//Making the file as a jpg
File file = new File(path, "tmp_pic" + ".jpg"); // the File to …Run Code Online (Sandbox Code Playgroud) 我为相机预览创建了一个扩展的SurfaceView类.
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
Camera mCamera;
CameraPreview(Context context) {
super(context);
mHolder = this.getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
// The Surface has been created, acquire the camera and tell it where
// to draw.
try {
mCamera = Camera.open();
mCamera.setPreviewDisplay(holder);
} catch (Exception e){
Log.wtf("surfaceCreated", e.toString());
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
try {
mCamera.stopPreview();
mCamera.release();
mCamera = null;
} catch (Exception e){
Log.wtf("surfaceDestroyed", e.toString());
}
}
public void …Run Code Online (Sandbox Code Playgroud) 下面是我的条码扫描器活动,除了setAutoFocusEnabled(true)之外,一切正常.它在运行时返回一条消息,说明我的设备不支持自动对焦,尽管三星Tab E T561是一个支持自动对焦的设备.
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.util.SparseArray;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.EditText;
import com.google.android.gms.vision.CameraSource;
import com.google.android.gms.vision.Detector;
import com.google.android.gms.vision.barcode.Barcode;
import com.google.android.gms.vision.barcode.BarcodeDetector;
import java.io.IOException;
import static com.google.android.gms.vision.CameraSource.CAMERA_FACING_BACK;
import static com.google.android.gms.vision.CameraSource.CAMERA_FACING_FRONT;
public class ScanBarcodeActivity extends AppCompatActivity {
private String TAG = "ScanBarcodeActivity";
private BarcodeDetector barcodeDetector;
private SurfaceView cameraView;
private CameraSource cameraSource;
private EditText cardNo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scan_barcode);
}
@Override
protected void onResume() {
cameraView = (SurfaceView) findViewById(R.id.surfaceViewCamera);
cardNo = (EditText) findViewById(R.id.editTextBarcode); …Run Code Online (Sandbox Code Playgroud) android barcode-scanner autofocus android-camera android-vision
android ×10
android-camera ×10
camera ×2
autofocus ×1
crop ×1
exif ×1
java ×1
mediacodec ×1
orientation ×1
resize-crop ×1
surfaceview ×1