Как создать пользовательский интерфейс для Android MediaController
Я хочу настроить элементы управления в MediaController для моего видеоплеера. Я хочу поменять изображение для кнопки воспроизведения, изменить скин, изменить цвет и т. Д.
Есть ли известный способ сделать это?
Спасибо
2 ответа
У меня была та же проблема в недавнем проекте, и я закончил тем, что создал пользовательскую реализацию на основе стандартного MediaController. Он добавляет полноэкранную кнопку в крайнем правом углу, но даже если вы этого не хотите, этот класс должен стать хорошей отправной точкой.
Код:
- VideoControllerView.java - http://pastebin.com/1V63aVSg
- media_controller.xml - http://pastebin.com/rS4xqMej
Ресурсы изображений:
Gotchas:
- Класс предполагает, что якорное представление является FrameLayout, чтобы позиционировать себя внизу.
- Класс не использует Window для обеспечения контроля над плавающей точкой над якорем. Тем не менее, это не было проблемой для меня, так как метод show() каждый раз выполняет mAnchor.addView().
- Класс использует собственный протокол MediaPlayerControl. Это позволяет настройки, такие как toggleFullScreen()
РЕДАКТИРОВАТЬ (2013): см. Этот учебник для более подробной информации: http://www.brightec.co.uk/blog/custom-android-media-controller
РЕДАКТИРОВАТЬ (2018): Теперь вы можете использовать замечательный ExoPlayer и полностью настроить интерфейс вашего проигрывателя, просто переопределив файл макета.
Я проверил его, и он отлично работает на 4.4 KitKat, но, как KAPLANDROID сказал черный экран появился на Android 2.3.6, но музыка и видеоконтроллер работает отлично,
Нашли решение, просто поставьте этот код
videoHolder.setType( SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS );
после этого
videoHolder.addCallback( this );
и ты готов идти