Я работаю над Android-приложением, которое может захватывать кадр из видео, когда пользователь выполняет щелчок на кнопке, приложение Android, предназначенное для воспроизведения видео с помощью TextureView. Для захвата кадра в виде растрового изображения, я использую:Android TextureView: видео, отображающее серый кадр при вызове getBitmap
Bitmap bit = textureView.getBitmap(width, height);
Он отлично работает, но «getBitmap» занимает довольно много времени (около 150-200 мс для 640х480 кадра). Проблема заключается в том, что в то время как getBitmap называется серым фреймом, отображается на экране. Похоже, что что-то щелкает. Есть ли способ справиться с этой проблемой?
Благодаря
вы пробовали запустить метод getBitmap в отдельном потоке? Потребовалось бы некоторое время, чтобы получить растровое изображение, но, по крайней мере, это не испортило бы ваши обратные вызовы дисплея! –
Это проверено? –
Захват происходит в одном потоке, для съемки кадра требуется много времени – san