Как создать пользовательский интерфейс для android MediaController

Я хочу настроить элементы управления в MediaController для моего видеопроигрывателя. Я хочу поменять изображение на кнопку воспроизведения, изменить скин, изменить цвет и т.д.

Есть ли известный способ сделать это?

Спасибо

Ответ 1

У меня была та же проблема в недавнем проекте, и я закончил тем, что создал собственную реализацию на основе стандартного MediaController. Он добавляет полноэкранную кнопку в крайнем правом углу, но даже если это не то, что вам нужно, этот класс должен стать хорошей отправной точкой.


Код:

Ресурсы изображений:

  • enter image description here
  • http://imgur.com/JYJGN
  • http://imgur.com/R0txq
  • http://imgur.com/dQ6wA

Gotchas:

  • Класс предполагает, что якорное представление - это FrameLayout для позиционирования внизу.
  • Класс не использует Window для обеспечения контроля над плавающей точкой над якорем. Однако для меня это не проблема, так как метод show() каждый раз выполняет mAnchor.addView().
  • Класс использует собственный протокол MediaPlayerControl. Это позволяет настройки, такие как toggleFullScreen()

ОБНОВЛЕНИЕ (2013 г.): подробности см. в этом руководстве: http://www.brightec.co.uk/blog/custom-android-media-controller

ОБНОВЛЕНИЕ (2018): теперь вы можете использовать замечательный ExoPlayer и полностью настроить пользовательский интерфейс вашего плеера, просто переопределив файл макета.

Ответ 2

Я тестировал его, и он отлично работает на 4.4 kitkat, но, как и KAPLANDROID, черный экран появился на Android 2.3.6, но музыка и видеоконтроллер прекрасно работают,

Найди решение, просто поместите этот код

videoHolder.setType( SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS );

после этого

videoHolder.addCallback( this );

и вы готовы пойти