Сбои в демонстрации Android SDK Camera API

В Android SDK есть демонстрация API для использования предварительного просмотра камеры. Однако это дает мне исключение времени выполнения в эмуляторе. Я использую Eclipse на Mac с 10.6

Вот ссылка, где я взял код:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html


person James    schedule 28.01.2010    source источник
comment
Каждый раз, когда вы задаете в StackOverflow вопрос об исключении во время выполнения, было бы огромно полезно опубликовать трассировку стека. С этим мы, возможно, сможем помочь. Без этого мы должны принимать случайные предположения. Вы можете просмотреть трассировку стека через adb logcat, DDMS или перспективу DDMS в Eclipse.   -  person CommonsWare    schedule 28.01.2010


Ответы (5)


Убедитесь, что вы установили разрешения в файле AndroidManifest.xml для использования камеры. Поместите эту строку над тегом приложения.

<uses-permission android:name="android.permission.CAMERA" />
person JeremyFromEarth    schedule 28.01.2010
comment
Большое спасибо, я бы хотел, чтобы они упомянули об этом в демо-коде. - person James; 31.01.2010
comment
Camera Preview вылетает для меня без полезной информации, даже в отладчике, при работе на реальном устройстве Nexus One. Строка с разрешениями на использование уже есть в манифесте. - person Corey Trager; 07.02.2010

Мне есть над чем поработать на Nexus One.

Если вы пытаетесь написать приложение для камеры, демонстрационное приложение API не поможет. Загрузите исходный код самого приложения Android Camera:

https://android.googlesource.com/platform/packages/apps/Camera

Что касается вашего вопроса, вы узнаете, что вам нужно будет ограничить ваше приложение альбомным режимом в вашем манифесте. В SurfaceChanged просто вызовите startPreview. Не устанавливайте размер предварительного просмотра вообще.

person Corey Trager    schedule 14.02.2010

По поводу падения NexusOne.

Как отметил в своем комментарии Corey Trager, отсутствие разрешения не является проблемой при просмотре пакета ApiDemos, входящего в состав SDK 2.1.

Одно решение, которое я нашел для этой проблемы, — просто изменить запрошенный размер предварительного просмотра в CameraPreview.

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h){..}

замените эту строку:

parameters.setPreviewSize(w,h);

с участием

parameters.setPreviewSize(352,288);

Это разрешение является юридическим разрешением, с которым работает G1 DevPhone.

person Ita    schedule 11.02.2010

Ты можешь использовать

List<Camera.Size> getSupportedPreviewSizes ()

И выберите размер из списка

person ee3509    schedule 05.06.2010

Эта проблема также упоминается в дефектах Google Code Android, и это может быть полезно для вас, код, упомянутый внизу в одном из комментариев, как возможное решение для решения проблем с предварительным просмотром.

person Luis Miguel Serrano    schedule 28.06.2010