Это не простой вопрос, чтобы ответить. Я провел месяц, исследуя и внедряя это сам.
Единственный способ добиться этого - использовать MediaCodec .
Вы можете посмотреть этот проект, который выполняет точную очистку, используя MediaCodec
. Единственная проблема, с которой я столкнулся в этом проекте, заключается в том, что для загрузки и отображения буфера на поверхности требуется около 0,5 секунды.
Вы также можете взглянуть на Графика , особенно класс MoviePlayer
. Другим источником является веб-сайт BigFlake .
Я закончил тем, что создал свою собственную реализацию, используя MediaCodec
, поскольку ни один из них не дал мне именно то, что я искал, так как я строил анализатор гольфа, мне нужно было (в режиме реального времени) точно (по кадрам) -кадр) чистка видео.
Вы также можете посмотреть на вопрос Я спросил, что похоже на это, где я добавил много информации о том, как я достиг этого. Хотя этот вопрос больше касается воспроизведения видео по кадрам, я думаю, что в нем есть ценная информация.