Как стать автором
Обновить
52
-1

извлекатель квинтэссенции, писатель предложений…

Отправить сообщение
Ага, закинул в конец статьи.
Забыл, оказывается, в фон вынести инициализацию нового рекордера. Поэтому падало. Его надо после стопанья делать. А получалось до.
Так что теперь работает без лагов:)
А тогда целиком приложение падает. Я и asynTask делал и просто поток запускал джавовский.
Так вроде теперь работает. Единственно что каждый новый экземпляр рекордера (после стопа предыдущего) теряет связь с этой PersistantSurface (поскольку она уже была определена в сессии), поэтому я сделал PersistantSurface статической, чтобы новый рекордер мог к ней заново прицепится через mMediaRecorder.setInputSurface(recorderSurface);.

Но смех в том, что лаг хоть и уменьшился, но остался. А я еще удивлялся, неужели камера открывается полторы секунды?
Короче главный тормоз это вот:
Slow Looper main: doFrame is 915ms late because of 2 msg, msg 1 took 912ms (h=android.view.ViewRootImpl$ViewRootHandler c=android.view.View$PerformClick

Может это связано с тем, что все творится в главном потоке? Но там вроде
коллбэки везде. Короче хз.
Причем это же и было в исходной версии, где стопалось превью, просто
я не обратил на это внимания, думая что дело в задержке из-за нового превью.

Surface recorderSurface=MediaCodec.createPersistentInputSurface();
mMediaRecorder.setInputSurface(recorderSurface);

матерится на вторую строчку. пишет

setInputSurface is called in an invalid state: 8
Так а как конкретно привязать рекордер к persistant input surface? Я не нашел примеров.
В его варианте маховик был в подвале, пробил сколько-там перекрытий и падая обратно еще раз пробил крышу. Я тогда еще задумался, они его на ребро что-ли поставили при запуске…
Вроде как делается через persistant input surface, которая типа не отваливается. Но на сайте андроида сказано, что ее надо делать перед prepare() рекордера и не использовать тогда getSurface.
Но как это привязать к коду и в каком месте вообще тогда непонятно.
A где же мазафака?
Или это уже с жестью?
А вообще вот, не является ли 220 вольт в быту анахронизмом? У меня в квартире, вроде как, сетевое полезно только для электроплиты и утюга, а в остальных случаях десяток, если не больше преобразователей в постоянное напряжение от 5 до 12 вольт. Которые, кстати, по теории вероятности рано или поздно могут самовозгореться…
Может они на чем-то более низкоуровневом стандартную камеру пишут? Вообще без surface концепций.
по идее не должно, так как оно теоретически по разным потокам разбросано, то есть медиарекордер работает независимо (можно делать например так скрытую съемку, без превью). Почему лаг, шиш его знает.
В данной демонстрашке нет корректного закрытия камеры, может поэтому крашится.

Написали с Гита
Cool Project! I am looking for some examples that do live streaming with camera2 and MediaCodec api's (not the old 'render to texture' stuff) and your project is one of the few that is simple enough.
I have plans to create a similar app like yours to allow streaming to FPV_VR_OS.
However, for lower latency I think using the NDK is required (tough there is even less documentation/examples) available.

Ерунда, а приятно…
Какая разница наклон с прямой спиной или нет. У вас поясничная грыжа, если смотреть по МРТ. Ниже позвоночник не гнется. Любой наклон означает, что одна часть диска расширится, другая сузится. Если сузится там где грыжа, испытаете «кайф». Скрутки просто провоцируют еще большее выпячивание студенистого тела в месте разрыва фиброзного кольца — а это увеличение грыжи. Это обычная физика… Там нет других измерений.
В йоге, грубо говоря, половина упражнений облегчает боли при грыже (упражнения на растяжение спины), а другая половина усиливает — скрутки, наклоны. Ну и в итоге все равно, грыжа никуда не денется. Как йог и грыженосец с 25 лет стажа ответственно заявляю
Попробуйте инверсионный стол (есть складные и недорогие), вот там позвоночник здорово вытягивается. Но там тоже аккуратно надо, дабы микроинсульт не получить. Понемногу.
Прививка лет десять-пятнадцать держится. Потом можно снова корью заболеть. Я, к примеру, заболел. И в больнице со мной лежало дофига взрослых. Да почти одни взрослые…
А смысл за комментарии карму поднимать. Поэтому обычно поднимают за публикации, то есть за работу. В любом случае 10 плюсов мало. Если плюсов около 40-50, то один-два могут в карму добавить…
Тогда бы сделать солнечные батареи в виде раскладываемого паруса… Или просто парус из батарей. Много маленьких налепить, чтоб гибким был.
проверочное — спеть «ground control to major tom»

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность