воспроизведение видео с помощью opengles, Android
Вопрос
как воспроизводить видео с помощью opengl es в Android?
Нет правильного решения
Другие советы
Ваш вопрос немного расплывчат.Если все, что вы хотите сделать, это воспроизвести видео на GL surface, это возможно.Смотрите на Media Player
пример кода на который ссылался Дэйв в своем образце.Все, что вам нужно сделать там, это заменить SurfaceView
с помощью GLSurfaceView
как в файле MediaPlayerDemo_Video.java, так и в соответствующем файле компоновки (mediaplayer_2.xml).
Также вам необходимо создать пользовательский класс средства визуализации (тот, который реализует GLSurfaceView.Renderer
интерфейс) и установите его на свой GLSurfaceView
.
После того, как вы все это сделаете, ваше видео будет воспроизводиться на поверхности GL, но это будет все.
Если, с другой стороны, вы хотите манипулировать видео, т.е.чтобы нарисовать видеокадры в текстуре GL и добавить к ним эффекты или преобразовать их (например, масштабировать, поворачивать и т.д.), боюсь, что это невозможно сделать.Причина в том, что у вас нет доступа к необработанным видеокадрам в вашем приложении.
Я не уверен, почему вы используете OpenGL здесь, но, вероятно, самый простой способ воспроизведения видео - это использование VideoView
класс.Вы захотите взглянуть на MediaPlayer
класс слишком.
Вы могли бы найти Аудио и видео страница в документации разработчика Android полезный.
Там есть VideoView
пример кода и MediaPlayer
пример кода в демонстрационных версиях API, поставляемых вместе с Android SDK.