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

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

Войти
Регистрация
Восстановить пароль
 
Rembo88
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 39
#1

Создание кастомной камеры. Fail to connect to camera service - Программирование Android

03.06.2015, 15:50. Просмотров 973. Ответов 5
Метки нет (Все метки)

Господа,доброго времени суток!
Создаю кастомную камеру и при вызове метода
Java
1
camera = Camera.open();
приложение падает с ошибкой java.lang.RuntimeException: Fail to connect to camera service.

В AndroidManifest.xml необходимые права указаны:
XML
1
2
3
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus" />
Подскажите,как можно победить эту штуку?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2015, 15:50     Создание кастомной камеры. Fail to connect to camera service
Посмотрите здесь:

Fail to connect to camera service - Программирование Android
Пишу приложение для работы с камерой. При тестировании на устройстве 4.4.2 вылетает с ошибкой. В андроид студио показывает на строчку ...

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

Camera не работает - Программирование Android
Здравствуйте, помогите, пожалуйста, разобраться. На некоторых устройствах (6.0) не удаётся включить камеру java.lang.NullPointerException:...

Android Studio Camera - Программирование Android
Не могу никак сделать фонарик. Поскажите, что в коде не так? Пробовал делать по инструкциям с англоязычных сайтов, ни на одном из 2...

Camera без SurfaceView - Программирование Android
Здравствуйте. Можно ли сделать снимок с помощью класса Camera без предварительного просмотра? Например Camera.open() и потом сразу...

Front facing camera - Программирование Android
Добрый вечер, уважаемые форумчане. Вопрос заключается в следующем: Использую библиотеку для считывания QR кодов...

Custom Camera. Растянутое изображение - Программирование Android
Сделал кастомную камеру,но столкнулся с проблемой: в режиме предпросмотра в портретном режиме изображение получается вытянутым по...

Camera, сохранение пути к фото - Программирование Android
Как получить полный путь к фото, сделанного камерой? @Override public void onClick(View v) { try { // Намерение для...

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

UUID. Bluetooth connect - Программирование Android
Вопрос достаточно банальный. Какое UUID мне нужно установить при подключении к серверу через Bluetooth? Для начала объясните плиз, для чего...

Не работает Jsoup.connect - Программирование Android
Необходимо вытащить информацию из HTML-страницы. Поискав в интернете, решил установить и использовать библиотеку Jsoup. На этапе получения...

Очередь из socket connect() как очистить? - Программирование Android
Ситуация есть два устройства их нужно соединить по Bluetooth . Одно устройство с включенным датчиком с интервалом в пару секунд пытается...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
03.06.2015, 16:01     Создание кастомной камеры. Fail to connect to camera service #2
автофокус у камеры есть?
Pablito
2414 / 1859 / 583
Регистрация: 12.05.2014
Сообщений: 6,596
Завершенные тесты: 1
03.06.2015, 16:15     Создание кастомной камеры. Fail to connect to camera service #3
правильный вопрос - камера есть?
если да, то покажи строки где она инициализируется
Rembo88
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 39
03.06.2015, 16:21  [ТС]     Создание кастомной камеры. Fail to connect to camera service #4
Да,у камеры есть автофокус

Добавлено через 4 минуты
Вот большая часть кода,отвечающая за создание камеры, лэйаута, предпросмотра и пр..

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        
        // Полноэкранное отображение
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        // Без заголовка
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        // Устанавливаю разметку
        setContentView(R.layout.custom_camera_activity);
 
        // Область предварительного просмотра имеет имя SurfaceView01
        preview = (SurfaceView) findViewById(R.id.SurfaceView01);
 
        // Создаем SurfaceHolder и регистрируем Activity для получения коллбэков
        surfaceHolder = preview.getHolder();
        surfaceHolder.addCallback(this);
        surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
 
        shotBtn = (Button) findViewById(R.id.Button01);
        shotBtn.setText("СДЕЛАТЬ ФОТО");
        shotBtn.setOnClickListener(this);
 
        surfaceCreated(surfaceHolder);
    }
 
    // Подготавливаем поверхность для предпросмотра фотографии
    @Override
    public void surfaceCreated(SurfaceHolder holder) {
 
        try {
            if (Camera.getNumberOfCameras() > 0) {
                try {
                   camera = Camera.open(0);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (camera == null) {
                Toast toast = Toast.makeText(this, "Ошибка открытия камеры", Toast.LENGTH_SHORT);
                toast.setGravity(Gravity.CENTER, 0, 0);
                toast.show();
                return;
            }
            // Связываю область предварительного просмотра с камерой
            camera.setPreviewDisplay(holder);
            camera.setPreviewCallback(this);
 
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        Size previewSize = camera.getParameters().getPreviewSize();
        float aspect = (float) previewSize.width / previewSize.height;
 
        int previewSurfaceWidth = preview.getWidth();
        int previewSurfaceHeight = preview.getHeight();
 
        LayoutParams lp = preview.getLayoutParams();
 
        // Здесь корректируем размер отображаемого preview, чтобы не было искажений
        if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) {
            // Портретный вид
            camera.setDisplayOrientation(90);
            lp.height = previewSurfaceHeight;
            lp.width = (int) (previewSurfaceHeight / aspect);
 
        } else {
            // Ландшафтный вид
            camera.setDisplayOrientation(0);
            lp.width = previewSurfaceWidth;
            lp.height = (int) (previewSurfaceWidth / aspect);
        }
        preview.setLayoutParams(lp);
        camera = Camera.open(0);
        camera.startPreview();
    }
Pablito
2414 / 1859 / 583
Регистрация: 12.05.2014
Сообщений: 6,596
Завершенные тесты: 1
03.06.2015, 16:25     Создание кастомной камеры. Fail to connect to camera service #5
а попробуй полностью перезагрузить устройство, я серьезно
Rembo88
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 39
03.06.2015, 16:36  [ТС]     Создание кастомной камеры. Fail to connect to camera service #6
Пока копировал код на стену форума увидел,что метод
Java
1
camera = Camera.open();
вызывается 2 раза.
Удалил дубликат,камера наконец-то запустилась,но возникла другая проблема - на дисплее ничего не отображается,экран белого цвета.
Yandex
Объявления
03.06.2015, 16:36     Создание кастомной камеры. Fail to connect to camera service
Ответ Создать тему
Опции темы

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