Skip to main content

В нативном приложении (стоке) есть…

Нам часто задают вопросы, которые начинаются с «А почему не работает...» и заканчиваются «В нативном приложении есть, значит аппарат может!»
Самый частый «Почему на Xiaomi не работает цифровая стабилизация?»
Мы попытаемся сравнить написание приложения для аппаратов Андроид с управлением автомобилем.

Представьте, вы — водитель (разработчик).
У вас есть автомобиль (телефон) марки N.
Вечер. Темно. Чтобы добраться до пункта назначения (записать видео), вам нужны включенные фары (цифровая стабилизация).
Вы конечно же как нормальный человек пытаетесь использовать стандартный переключатель (по документации Camera2 API), а фары не работают. Поездка выходит не самой приятной.
На следующий день вы едете в авторизованный сервис (вскрываете нативное приложение) и спрашивайте у работника сервиса (исследуете код), каким образом включить фары. Работник сервиса вскрывает приборную панель, под которой находится много замочных скважин, достает из широких штанин какой-то непонятный ключ, вставляет его в одну из скважин, поворачивает и фары включаются.
Вы конечно же в шоке, но в вас еще теплится надежда, что вам могут выдать этот ключ. Но не тут-то было! Работник сервиса ясно намекает, что никакого ключа вы не получите, и фары у вас будут работать только, если вы наймете этого работника к себе в шоферы (воспользуетесь нативным приложением).
И хорошо, если вы видели ключ и скважину к которой он подходит. Вы злитесь, но обегаете весь город в поисках такого же ключа (заглядываете в самые сокровенные уголки нативного приложения). Находите его у какого-то взломщика дверей, который вытачивает эти ключи самостоятельно (понимаете код, как он работает и куда применять ключ). Радостные отправляетесь к автомобилю, вставляете ключ, поворачиваете и наблюдаете как с включением фар у вас складываются зеркала. Оказывается, что зеркала с фарами могут работать только если для зеркал найти отдельный ключ.

Именно так на многих устройствах работают:
60 кадров в секунду
120/240 кадров в секунду

Цифровая стабилизация
10 бит
Ручной фокус
И, определенно, есть еще что-то.

Мододелы GCam бесконечно занимаются тем, что бегают по городу и разыскивают нужные ключи для активации тех или иных функций. Часто их поиски ограничиваются небольшим количеством конкретных автомобилей. И скажем честно, их не сильно волнует, если у вас с включением фар будут складываться зеркала.

Мы рады, когда у нас получается найти нужные ключи. Но чаще результат противоположный, или нас не устраивают складывающиеся зеркала.

Итог: если в руках работника авторизованного сервиса что-то работает, а в руках водителя нет, то причиной может быть то, что работник сервиса не хочет делиться нужным ключом. И вообще считает, что единственным водителем вашего автомобиля должен быть он. И прежде, чем возмутиться недоступности функции, есть смысл убедиться, что производитель автомобиля все переключатели (настройки Camera2 API) сделал там, где они должны располагаться, и что они работают так, как должны работать (по документации Camera2 API).