Ваш вопрос немного расплывчатый. Если все, что вы хотите сделать, это воспроизвести видео на поверхности GL, это возможно. Посмотрите Media Player
пример кода , на который ссылался Дейв в своем примере. Все, что вам нужно сделать, это заменить SurfaceView
на GLSurfaceView
как в файле MediaPlayerDemo_Video.java, так и в соответствующем файле макета (mediaplayer_2.xml).
Также вам нужно создать собственный класс Renderer (тот, который реализует интерфейс GLSurfaceView.Renderer
) и установить его в GLSurfaceView
.
После того, как вы все это сделаете, ваше видео будет воспроизводиться на поверхности GL, но это все.
Если, с другой стороны, вы хотите манипулировать видео, то есть рисовать видеокадры в текстуре GL и добавлять эффекты к ней или преобразовывать ее (например, масштабировать, вращать и т. Д.), Тогда боюсь, это не может быть сделано. Причина в том, что у вас нет доступа к необработанным видеокадрам в вашем приложении.