Скрыть предварительный просмотр камеры, но все еще получите предварительный просмотр обратных вызовов
Вопрос
Я хочу показать фильтрованную камеру превью в моем приложении.
Я использую Camera.etpreviewcallback () для этого.Мне удалось обработать данные о обратном вызове и показать отфильтрованное изображение в представлении OpenGL, но я понятия не имею, как скрыть предварительный просмотр оригинальной камеры и до сих пор получать предварительный просмотр обратных вызовов.Создание вида поверхности «ушел» или «невидимое» не работает, что делает его достаточно маленьким (10x10), чтобы спрятаться за графическим интерфейсом.Он просто перестает отправлять обратные вызовы с предварительным просмотром данных.
Можете ли вы поделиться на это обходной путь?Я проверяю, используя Galaxy S2.
Спасибо заранее.
Решение
Решение для того, чтобы даже установить размер предварительного просмотра, чтобы быть в качестве фактического экрана, в OnMeasure от Preview SurfceView Проверьте его меньше, что работает для меня:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
this.setMeasuredDimension(2, 2);
}
. Другие советы
Создайте простой вид с черным цветом фона.Установите вид на то же положение, что и поверхность камеры.Предварительный просмотр камеры будет эффективно скрыт.