Pobieranie ramek z obrazu wideo w Androidzie

Zaimplementowałem prostą aplikację, która pokazuje obraz z kamery na ekranie. Teraz lubię robić pojedynczą klatkę i przetwarzać ją jako bitmapę. Z tego, co mogłem się dowiedzieć do tego punktu, nie jest łatwo.

Próbowałem użyć metody onPreviewFrame, za pomocą której otrzymujesz bieżącą ramkę jako tablicę bajtów i próbowałem ją zdekodować za pomocą klasy BitmapFactory, ale zwraca ona wartość null. Format ramki to bez nagłówka YUV, który można przetłumaczyć na bitmapę, ale trwa zbyt długo na telefonie. Przeczytałem również, że metoda onPreviewFrame ma ograniczenia dotyczące środowiska wykonawczego, jeśli trwa zbyt długo aplikacja może ulec awarii.

Więc jaki jest właściwy sposób, aby to zrobić?

questionAnswers(4)

yourAnswerToTheQuestion