Фронтальная камера без превью, в том числе на Nexus 7
Фронтальная камера без превью, в том числе на Nexus 7
Нужен пример кода или ссылка на таковой, как запустить съемку фронтальной камерой без показа превью (или хотя бы с небольшим превью)? Задача по сути проста - получить доступ к камере из кода-сделать снимок-сохранить его (без взаимодействия с юзером).
Причем одна из проблем - поиск и включение фронтальной камеры в разных девайсках работает по разному. В частности проблемы с этим есть на Nexus 7 с Android 4.2.2 на борту.
ссылки по теме из того, что удалось нагуглить:
http://www.vogella.com/articles/Android ... ticle.html - хороший, полный тьюториал, но, к сожалению так и не смог заставить его работать на своем Nexus 7. Либо не находит камеру, либо крэш на Camera.open(n)
http://stackoverflow.com/questions/1252 ... nt-devices
http://stackoverflow.com/questions/1579 ... oesnt-work
http://stackoverflow.com/questions/1350 ... s-7-tablet
Сваять на их основе работающее на Nexus 7 решение пока не удалось. Может кто-то здесь уже это делал или сделает?
Причем одна из проблем - поиск и включение фронтальной камеры в разных девайсках работает по разному. В частности проблемы с этим есть на Nexus 7 с Android 4.2.2 на борту.
ссылки по теме из того, что удалось нагуглить:
http://www.vogella.com/articles/Android ... ticle.html - хороший, полный тьюториал, но, к сожалению так и не смог заставить его работать на своем Nexus 7. Либо не находит камеру, либо крэш на Camera.open(n)
http://stackoverflow.com/questions/1252 ... nt-devices
http://stackoverflow.com/questions/1579 ... oesnt-work
http://stackoverflow.com/questions/1350 ... s-7-tablet
Сваять на их основе работающее на Nexus 7 решение пока не удалось. Может кто-то здесь уже это делал или сделает?
Re: Фронтальная камера без превью, в том числе на Nexus 7
Этот пример Вогеллы я пробовал.
На эмуляторе запускали?
На эмуляторе запускали?
Re: Фронтальная камера без превью, в том числе на Nexus 7
нет, на реальном Nexus 7 запускал=bor= писал(а):На эмуляторе запускали?
а у вас пример на каком устройстве заработал?
Re: Фронтальная камера без превью, в том числе на Nexus 7
В том и дело, что тоже не работает. На эмуляторе, у меня Нексуса нет.
В том коде ошибки, например, в секции импорта MakePhotoActivity.java вот это зачем??
Я его спросил об этом:
И ещё, в PhotoHandler.java у вас тоже это вылезает:
?
И третье, вы смотрели его код к этому туториалу de.vogella.camera.api?
Там у него ещё 3 класса: AndroidFaceDetector.java, Constants.java и TextureViewActivity.java.
В том коде ошибки, например, в секции импорта MakePhotoActivity.java вот это зачем
Код: Выделить всё
import de.vogella.cameara.api.R;
Я его спросил об этом:
в Гугл-группе, так он вопрос не пропустил.This relates to the code section under "Change the MakePhotoActivity class to the following" in the "3 Tutorial: Using the camera API". Your <<import de.vogella.cameara.api.R;>> it seems with anything not connected?
И ещё, в PhotoHandler.java у вас тоже это вылезает:
?
И третье, вы смотрели его код к этому туториалу de.vogella.camera.api?
Там у него ещё 3 класса: AndroidFaceDetector.java, Constants.java и TextureViewActivity.java.
Re: Фронтальная камера без превью, в том числе на Nexus 7
это чтобы взять R.layout.main например из ресурсов. Опечатка только в слове cameara=bor= писал(а):вот это зачем?Код: Выделить всё
import de.vogella.cameara.api.R;
Это тоже мелочь, просто исправить в MakePhotoActivity:И ещё, в PhotoHandler.java у вас тоже это вылезает:
Код: Выделить всё
private final static String DEBUG_TAG = "MakePhotoActivity";
Раньше не смотрел, сейчас глянул, на эмуляторе съемка пошла, по крайней мере выдал сообщение что сохранил фото. На Nexus 7 нет. Даже когда я исправил код, чтобы он находил фронтальную камеру, при попытке съемки падает так, что камера вообще в девайсе перестает работать до перезагрузки. (И третье, вы смотрели его код к этому туториалу de.vogella.camera.api?
Там у него ещё 3 класса: AndroidFaceDetector.java, Constants.java и TextureViewActivity.java.
Короче наверное зря я похвалил тьюториал этого Вогеллы - есть ощущение что у него там они просто собраны отовсюду и даже толком не оттестированы - опечатки, ошибки, невозможно скачать весь проект сразу, человек ради просмотров страниц наверное всё это затеял. Бизнес у него такой видимо.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Фронтальная камера без превью, в том числе на Nexus 7
У меня есть решение с этой оперы для сохранения фотографий со всех камер без показа превью, но на нексусе не тестировал. Завтра либо послезавтра сброшу
Re: Фронтальная камера без превью, в том числе на Nexus 7
Да, я так и сделал.YuriK писал(а):Это тоже мелочь, просто поменяйте private на public - все ок будет.
Вот это интересно. Я обратил внимание, что оно (приложение) в эмуляторе пишет, что не находит фронтальную камеру. Можно увидеть исправленный код?Раньше не смотрел, сейчас глянул, на эмуляторе съемка пошла, по крайней мере выдал сообщение что сохранил фото. На Nexus 7 нет. Даже когда я исправил код, чтобы он находил фронтальную камеру, при попытке съемки падает так, что камера вообще в девайсе перестает работать до перезагрузки.
Re: Фронтальная камера без превью, в том числе на Nexus 7
Очень интересно, ждём-с.no-- писал(а):У меня есть решение с этой оперы для сохранения фотографий со всех камер без показа превью, но на нексусе не тестировал. Завтра либо послезавтра сброшу
Re: Фронтальная камера без превью, в том числе на Nexus 7
Да, конечно, без проблем, там всё просто. В MakePhotoActivity onCreate идет проверка на наличие камеры=bor= писал(а):Вот это интересно. Я обратил внимание, что оно (приложение) в эмуляторе пишет, что не находит фронтальную камеру. Можно увидеть исправленный код?
Код: Выделить всё
// do we have a camera?
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)
&& !getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT))
Вот это было бы интересно в любом случае посмотреть. Присоединяюсь, тоже жду.no-- писал(а):У меня есть решение с этой оперы для сохранения фотографий со всех камер без показа превью, но на нексусе не тестировал. Завтра либо послезавтра сброшу
Re: Фронтальная камера без превью, в том числе на Nexus 7
Странно, у меня сейчас после долгих танцев с бубном заработало без дополнительного FEATURE_CAMERA_FRONT.YuriK писал(а):Вторую проверку добавил я специально для Nexus 7. Просто фишка в том, что у него одна фронтальная камера, но getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA) всегда возвращает false. А вот FEATURE_CAMERA_FRONT возвращает что нужно.
На вот таком эмуляторе:
Re: Фронтальная камера без превью, в том числе на Nexus 7
Вполне возможно. Без этого дополнения не проходит проверка как раз на реальном Nexus7, для него делал. К тому же у вас там версия 4.1.2, а на девайсе у меня 4.2.2. Но я не уверен что дело в версии, сейчас нет времени тестировать, но вполне возможно, что эмулятор просто не в курсе про такую особенность устройства, как неправильный ответ на запрос наличия FEATURE_CAMERA. Ведь по логике-то какая-то камера на девайсе есть и проверка эта должна проходить.=bor= писал(а):Странно, у меня сейчас после долгих танцев с бубном заработало без дополнительного FEATURE_CAMERA_FRONT.
Re: Фронтальная камера без превью, в том числе на Nexus 7
Сейчас попробовал на эмуле под API 17 (4.2.2) - тоже работает.YuriK писал(а):у вас там версия 4.1.2, а на девайсе у меня 4.2.2.
Если хотите, могу сбросить .apk. Проверите на реальном устройстве, чтобы исключить ошибки в коде.
ПС. Интересно, что фотки вверх ногами получаются.
Re: Фронтальная камера без превью, в том числе на Nexus 7
Не читал всю тему, обратил внимание только на последнее сообщение. Не давно проект был где как раз была такая проблема, все тонкости не помню но есть такая особенность что камера работает только в горизонтальном виде, или же после включения если пару раз перевернуть камеру то снимок не предсказуем. Такое проявлялось на разных телефонах, лечилось тем что после того как сфотографировали приходилось руками поворачивать изображение и пересохранять.ПС. Интересно, что фотки вверх ногами получаются.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Фронтальная камера без превью, в том числе на Nexus 7
Да, тоже встречал в инете подобные вопли ещё со времён 2.3.) Похоже, дело в дровах камеры (у меня на ноуте). Подождём проверки .apk YuriK'ом, у него-то камера в Нексус встроенная, таких проблем быть не должно.rezak90 писал(а):есть такая особенность что камера работает только в горизонтальном виде, или же после включения если пару раз перевернуть камеру то снимок не предсказуем. Такое проявлялось на разных телефонах, лечилось тем что после того как сфотографировали приходилось руками поворачивать изображение и пересохранять.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Фронтальная камера без превью, в том числе на Nexus 7
Реализовал в отдельной теме как наработку. Работа с камерой без взаимодействием с пользователем..
Решение проблемы с поворотом тоже можете там глянуть (правда не во всех случаях это будет работать, но в большинстве - да).
Решение проблемы с поворотом тоже можете там глянуть (правда не во всех случаях это будет работать, но в большинстве - да).
Re: Фронтальная камера без превью, в том числе на Nexus 7
This is working but After seen this hint I just checked the getNumberOfCameras result.Mikhail_dev писал(а): ↑02 май 2013, 19:56У меня есть решение с этой оперы для сохранения фотографий со всех chat камер без показа превью, но на нексусе не тестировал. Завтра либо послезавтра сброшу
In my case "the nexus gives out an inadequate camera ID. So I am actually talking about the related trouble. more precisely, it accepts an inadequate camera ID in the open (id) method.
Re: Фронтальная камера без превью, в том числе на Nexus 7
Хотя на большинстве устройств Android, как правило, невозможно делать снимки напрямую без предварительного просмотра из-за ограничений API, есть несколько обходных путей и вещей, которые следует учитывать для передней камеры, особенно на Nexus 7:
Ограничения:
Ограничения API: Официальный API камеры Android требует, чтобы перед захватом изображения отображалось окно предварительного просмотра. Из-за этого большинству приложений сложно делать снимки без предварительного просмотра на экране.