Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
#1

Работа с камерой - Программирование Android

03.03.2016, 18:21. Просмотров 673. Ответов 20
Метки нет (Все метки)

Имеется код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.mytest;
import android.os.*;
import android.view.*;
import android.app.*;
import android.hardware.*;
import java.io.*;
import java.text.*;
import java.util.*;
 
 
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
 
        final Camera c = Camera.open();
     //   Log.i("===", "" + c);
 
       /* findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {*/
 
                    c.takePicture(null, null, mPicture);
 
                /*}
            });*/
    }
 
    private Camera.PictureCallback mPicture = new Camera.PictureCallback() {
 
        @Override
        public void onPictureTaken(byte[] data, Camera camera) {
 
            File pictureFile = getOutputMediaFile();
 
            try {
                FileOutputStream fos = new FileOutputStream(pictureFile);
                fos.write(data);
                fos.close();
            } catch (FileNotFoundException e) {
              //  Log.d("===", "File not found: " + e.getMessage());
            } catch (IOException e) {
               // Log.d("===", "Error accessing file: " + e.getMessage());
            }
        }
    };
 
    private static File getOutputMediaFile() {
        File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
                                            Environment.DIRECTORY_PICTURES), "MyCameraApp");
 
        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
        File mediaFile;
        mediaFile = new File(mediaStorageDir.getPath() + File.separator +
                             "IMG_" + timeStamp + ".jpg");
        return mediaFile;
    }
}
При попытке запустить программу - вылет. Что может быть не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2016, 18:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с камерой (Программирование Android):

Работа с камерой - Программирование Android
Попытался поработать с камерой, но при попытке фотографирования приложение вылетает, при этом камера в эмуляторе работает, но почему то не...

Работа с камерой - Программирование Android
Всем привет! Есть приложение блокнот, в котором хотелось бы реализовать возможность прикрепления фото. Сделал следующим образом...

Работа с камерой - Программирование Android
Когда приложение использует камеру то изображение которое идет с камеры(видеокадры) отображаются на дисплее телефона. Как сделать так чтобы...

Работа с камерой в Android 2.* - Программирование Android
Нужно заставить приложение выводить картинку с камеры на экран (превьюшка). Вроде проще простого, но не работает: package...

Работа с камерой и NDK - Программирование Android
Итак есть приложение показывает изображение с камеры а поверх него выводить гистограмму. Отдельно без JNI камера работает, но при...

Андроид, работа с камерой - Программирование Android
Всем привет. Сразу говорю - на java не писал никогда - только delphi и немного C++. Хочется сделать приложение для Андроид 2.3.5...

20
Pablito
2476 / 1960 / 611
Регистрация: 12.05.2014
Сообщений: 6,863
Завершенные тесты: 1
03.03.2016, 18:24 #2
без сообщения об ошибке будем гадать?
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
03.03.2016, 18:35  [ТС] #3
log.zip
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
03.03.2016, 19:13  [ТС] #4
Паблито, я смотрел не одну статью, везде вылет... Нашел ваш пост - тоже вылетает...

Добавлено через 32 минуты
Паблито, очень интересно. Код не работает на андроид 5.0+, а на 4.4 и 4.2 он работает. С чем это может быть связано?
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
03.03.2016, 19:16 #5
Цитата Сообщение от den_droid Посмотреть сообщение
Код не работает на андроид 5.0+, а на 4.4 и 4.2 он работает.
Уха-ха
Я как-то тоже писал код, работал на 2, 4 и 5 версиях без проблем.
На 5 версии работа с камерой чуток поменялась, появились другие классы, может быть, разрешения.
Кстати, какое у вас устройство?
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
03.03.2016, 19:31  [ТС] #6
CoolMind, Nexus 7... Android 6.0.1. Я так и не понял как к камере подключиться(
0
Pablito
2476 / 1960 / 611
Регистрация: 12.05.2014
Сообщений: 6,863
Завершенные тесты: 1
03.03.2016, 19:34 #7
проверил у себя на самсунге 5.0.2 версия - работает
разрешения в манифесте прописаны?
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
03.03.2016, 19:35  [ТС] #8
Паблито,
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.camera" />
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
03.03.2016, 19:37 #9
den_droid, отличное устройство!
А может быть, на какой-то конкретной строке ломается?
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
03.03.2016, 19:44  [ТС] #10
CoolMind, как я понял, на
c.takePicture(null, null, mPicture);

Добавлено через 3 минуты
CoolMind, эх, не судьба мне научиться работать с камерой
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
03.03.2016, 19:49 #11
den_droid, может быть, c = null? Там есть лог ошибки?
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
03.03.2016, 19:55  [ТС] #12
CoolMind, лог ошибки выше

Добавлено через 5 минут
CoolMind, как это исправить?
03-03 17:29:44.290 9326 9326 E AndroidRuntime Caused by: java.lang.RuntimeException: takePicture failed
03-03 17:29:44.290 9326 9326 E AndroidRuntime at android.hardware.Camera.native_takePicture(Native Method)
03-03 17:29:44.290 9326 9326 E AndroidRuntime at android.hardware.Camera.takePicture(Camera.java:1434)
03-03 17:29:44.290 9326 9326 E AndroidRuntime at android.hardware.Camera.takePicture(Camera.java:1379)
03-03 17:29:44.290 9326 9326 E AndroidRuntime at com.dendroid.json.MainActivity.onCreate(MainActivity.java:26)
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
03.03.2016, 19:59 #13
den_droid, в общем, я мельком поглядел пару ссылок, например, http://stackoverflow.com/questions/2...picture-failed. Там говорится про startPreview. Также в onPictureTaken возможны проблемы, связанные с освобождением камеры и прочими проблемами. Попробуйте тоже поискать.
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
03.03.2016, 20:07  [ТС] #14
CoolMind, тоже вылет. Паблито давал тот код который я написал выше, у меня он не работает, у него рабоатет...

Добавлено через 22 секунды
+ я скачивал исходники других проектов, тоже вылетают.
0
Pablito
2476 / 1960 / 611
Регистрация: 12.05.2014
Сообщений: 6,863
Завершенные тесты: 1
03.03.2016, 20:08 #15
а если перезагрузить телефон?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2016, 20:08
Привет! Вот еще темы с ответами:

Управление камерой на OS Android - Программирование Android
Ребята всем привет! Хочу разработать похожую инсталляцию: https://vimeo.com/123304375 Программирую давно не с разработкой...

Потоки при работе с камерой - Программирование Android
Что будет есть в public void onPictureTaken(byte data, Camera camera) повесить тяжелые расчеты, data будет все время меняться или...

Измерение пульса камерой телефона - Программирование Android
Кто нибудь, знаком с алгоритмом измерения пульса с помощью камеры мобильного телефона, подобном, например, в программе Cardiograph?...

Съемка камерой в фоновом режиме - Программирование Android
Здравствуйте! Я сделал тестовое приложение, которое через определенный интервал (например, полчаса) делает снимок с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
03.03.2016, 20:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru