Android-камера (Froyo) не включает в себя статический метод open () - PullRequest
1 голос
/ 23 сентября 2011

Я должен быть первым, кто столкнулся с этой проблемой, потому что я не могу найти ни единой ветки об этом.

Сегодня я хотел начать с аспекта камеры, касающейся потребностей моего приложения.Я прочитал некоторую документацию

мой манифест выглядит так:

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

Я написал это в манифесте ВЫШЕ <application> и под <manifest>

Что я делаюявляется;Я создал новый класс.используя eclipse в качестве моей IDE.

Затем я объявляю поле:

Camera _camera;

В конструкторе (только для проверки) я попытался сделать:

_camera = Camera.open();

Iполучил ошибку.Я использую свой реальный телефон для тестирования приложения, потому что у меня нет веб-камеры или чего-либо еще, что бы имитатор мог использовать.И симулятор выдает мне ошибку памяти, когда я говорю, что у меня есть камера.

В любом случае, когда я узнал, почему я не могу использовать Camera.open (я включил пакет: android.graphics.Camera;)Потому что это то, что затмение включило для меня, когда я использовал для организации функции импорта.

Я посмотрел на android.jar, который затмение прикрепил для меня.Содержится в папке штуковина под названием Android 2.2 -> android.jar

Я искал android.graphics и заглянул в содержимое Camera.class

Оказалось, что мой класс Camera толькоимеет следующие методы:

Camera()
applyToCanvas()
dotWithNormal()
finalize()
getMatrix()
restore()
rotateX()
rotateY()
rotateZ()
save()
translate()

Я специально выпустил параметры, потому что они не имеют значения.

Чтобы перейти к актуальному вопросу: почему?

Почему естьнет метода open (), нет метода release ()?и что еще я пропускаю .. '

Спасибо за чтение.

Сегодняшний урок: не будь умным ** s.Я действительно был уверен на 950%, что включил этот конкретный пакет.Но это был неправильный пакет.Derp.Спасибо, что уведомил меня.Проблема решена.

Ответы [ 3 ]

3 голосов
/ 23 сентября 2011

Вы используете не ту камеру.

android.graphics.Camera - Экземпляр камеры можно использовать для вычисления трехмерных преобразований и создания матрицы, которую можно применить, например, к Canvas.

android.hardware.Camera - класс Camera используется для установки параметров захвата изображений, запуска / остановки предварительного просмотра, создания снимков и получения кадров для кодирования видео. Этот класс является клиентом для службы камеры, которая управляет фактическим оборудованием камеры.

0 голосов
/ 23 сентября 2011

(да, я уверен, что на 950% я включил пакет: android.graphics.Camera;)

Вы ищете android.hardware.Camera.

0 голосов
/ 23 сентября 2011

Вы используете неправильный класс камеры. Используйте это http://developer.android.com/reference/android/hardware/Camera.html

Вы используете камеру из android.graphics.Camera Полагаю, вам нужна камера из android.hardware.Camera

...