Как сделать свой плеер для android

Добавлено: 12.08.2017, 22:06 / Просмотров: 52391

This post is also available in: Английский

Android Video Player
Одна из задач, с которой вы можете столкнуться http://kakielekarstva.ru/  при разработке приложения для Android — это встраивание видео плеера в приложение, для воспроизведения видео контента. Стандартный SDK предоставляет два пути решения этой проблемы: использовать низкоуровневый класс MediaPlayer или готовый визуальный компонент VideoView совместно со стандартной панелью управления воспроизведением MediaController. Оба эти подхода обладают своими недостатками, поэтому мы решили разработать собственный видеокомпонент AVideo. В этой статье мы расскажем о том как его использовать в своем приложении и какие преимущества он дает.

Сначала немного о недостатках стандартных классов. Класс MediaPlayer в силу своей низкоуровневости обладает максимальными возможностями, но весьма сложен в использовании, поэтому его не рекомендуется использовать напрямую. Специально для того, чтобы спрятать от разработчика всю сложность MediaPlayer, в SDK входит класс VideoView. Простейшая программа, использующая VideoView и MediaController выглядит примерно так:

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mVideo = (VideoView) findViewById(R.id.videoView); MediaController controller = new MediaController(this); mVideo.setMediaController(controller); mVideo.setVideoURI(Uri.parse(STREAM_URL)); mVideo.start(); }

Но класс VideoView подходит только для простейших применений. Если вы захотите добавить в него какую-либо новую функциональность или даже просто сменить оформление элементов панели управления, то сделать это будет не просто, поскольку в SDK не предусмотрено такой возможности. Разработчику остается только реализовать собственный компонент на основе MediaPlayer с нуля или вырезать из находящихся в открытом доступе исходных кодов Android нужные компоненты и внести в них необходимые изменения. Именно так мы и решили поступить при разработке собственного плеера AVideo. В результате получился набор видео классов, совместимых по интерфейсу со стандартными, но реализующий дополнительно следующую функциональность:

  • Измененное оформление элементов панели управления воспроизведением видео.
  • Управление уровнем звука и кнопка выключения звука.
  • Управление уровнем яркости подсветки экрана.
  • Корректная работа как сделать свой плеер для android компонента и контролов при встраивании в сложный layout, когда видео занимает только часть экрана.
  • Переключение между обычным режимом отображения в layout-е и полноэкранным режимом по двойному нажатию на плеер с изменением размера элементов панели управления.
  • Остановка воспроизведения и восстановление воспроизведения с запомненной позиции при отключении экрана устройства и при выходе из приложения.

Использовать наши видео компоненты в собственном приложении очень просто. Загрузите архив, содержащий код компонентов и пример использования, с сайта github.com. Импортируйте проекты из архива в рабочую область Eclipse и подключите их к своему приложению как библиотеки (Свойства проекта, Android, Library, Add…). Код простейшего видеоплеера с использованием этих компонентов получится абсолютно такой же, как если бы вы использовали стандартные компоненты, единственное, что изменится — это строки импорта соответствующих классов и к названию компонента VideoView в файле layout-а добавится наш package

1

ru.denivip.android.video

. Пример простейшего layout-а будет выглядеть так:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/videoContainer"
       android:layout_width="wrap_content"
       android:layout_height="match_parent"
       android:layout_weight="10">
        <ru.denivip.android.video.VideoView
           xmlns:android="http://schemas.android.com/apk/res/android"
           android:id="@+id/videoView" android:layout_width="match_parent"
           android:layout_height="match_parent">
        </ru.denivip.android.video.VideoView>
    </FrameLayout>

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

1

android:configChanges="orientation"

к вашей activity и следующий Java-код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

@Override
protected void onPause() {
    super.onPause();
    mVideo.suspend();
}
@Override
protected void onResume() {
    super.onResume();
    mVideo.resume();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}

Результат работы тестового приложения в обычном и в полноэкранном режиме вы можете видеть на скриншотах:

Мы надеемся, что наш видеокомпонент пригодится вам в работе, и ждем багрепорты, предложения и пожелания по реализации новой функциональности, а также патчи.

. Bookmark the


Источник: http://blog.denivip.ru/index.php/2011/09/%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BB%D0%B5%D0%B5%D1%80%D0%B0-%D0%B4%D0%BB%D1%8F-android/


Закрыть ... [X]

Как сделать свой Android-смартфон не похожим на другие Как сделать hdmi с тюльпанами


Как сделать свой плеер для android Создаем простой онлайн-медиа-плеер в Android Студии
Как сделать свой плеер для android Модифицируем плеер Vanilla Music под Android / Хабрахабр
Как сделать свой плеер для android Mediaplayer - Создание плеера в Android - Stack Overflow на
Как сделать свой плеер для android Разработка видеоплеера для Android - DENIVIP Media
Как сделать свой плеер для android Off-road снаряжение - Магазин4x4
Как сделать свой плеер для android Большое манту у ребёнка почему и что делать дальше?
Как сделать свой плеер для android Васильки своими руками. Мастер-класс с
Как сделать свой плеер для android Заметки о Revit и том, что с ним связано: Видеокурс Редактор
Как сделать свой плеер для android Как перестать стесняться
Как перестать стесняться парней? / смущение, побороть страх Как сделать диаграмму в Excel? Ленты в декоре свадьбы - Свадебный портал Обзор программы Windows Movie Maker 2.6 - MyDiv Подача электронных документов на государственную Проблема с уголками пальцев на ногах форум Садовые фигуры своими руками Строительный портал