#android #camera
#Android #камера
Вопрос:
Я новичок в Java и Android, и у меня проблема с запуском камеры. Именно мне нужен небольшой предварительный просмотр камеры, который был бы под моим контролем. (Я хочу поместить прицел в середину). Я попытался вставить это в свой проект: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html Но после моего наивного «исправления» возникает множество ошибок, программа вылетает, прежде чем что-либо запускать.. Я довольно долго безуспешно пытался выполнить поиск в Google. Есть ли у кого-нибудь что-нибудь, что просто работало бы без проблем? Проект был бы хорош 🙂
Заранее спасибо, пока
Комментарии:
1. Попробуйте это: tomgibara.com/android/camera-source Или этот: marakana.com/forums/android/examples/39.html Или здесь: p2p.wrox.com / …
2. Если бы вы могли перефразировать вопрос, это было бы большим подспорьем. Прямо сейчас трудно понять, что вы пытаетесь сделать.
Ответ №1:
в вашем методе onCreate укажите следующие строки,
String imgName = getImageName();
startCamera(imgName);
И ниже вашего onCreate укажите эти методы. ваша камера готова.
private void startCamera(String ImageName) {
Intent cameraIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(ImageName)));
startActivityForResult(cameraIntent, TAKE_PICTURE_WITH_CAMERA);
}
private String getImageName() {
String imgname = "";
String imgpath = "";
String strDirectory="/sdcard";
try {
imgname = String.format("%d.mp4", System.currentTimeMillis());
imgpath = strDirectoy "/" imgname;
File file = new File(strDirectoy);
boolean exists = file.exists();
if (!exists) {
boolean success = (new File(strDirectoy)).mkdir();
if (success)
Log.e("Directory Creation", "Directory: " strDirectoy
" created");
else
Log.e("Directory Creation", "Error in Create Directory");
}
Log.i("Imagename : ", imgpath);
} catch (Exception e) {
Log.e("fileException", e.getMessage());
e.printStackTrace();
}
return imgpath;
}
Комментарии:
1. Здесь используется константа TAKE_PICTURE_WITH_CAMERA. Мое eclipse не смогло это исправить. Должен ли я определить это сам? Каким должно быть значение?
2. Извините, вот оно. int TAKE_PICTURE_WITH_CAMERA = 0;