Ссылка на макет:
<chuangyuan.ycj.videolibrary.widget.VideoPlayerView android:id="@+id/exo_play_context_id" android:layout_width="match_parent" android:layout_height="200dp" app:player_gesture_audio_layout_id="@layout/custom_gesture_audio" app:player_gesture_bright_layout_id="@layout/custom_gesture_brightness" app:player_gesture_progress_layout_id="@layout/custom_gesture_pro" .... />
2. Использование кода:
```
// Реализовать интерфейс обратного вызова информации о жестах
exoPlayerManager.setOnGestureBrightnessListener(); // яркость
exoPlayerManager.setOnGestureProgressListener(); // прогресс
exoPlayerManager.setOnGestureVolumeListener(); // аудио
// Пример кода
// Яркость
exoPlayerManager.setOnGestureBrightnessListener(new OnGestureBrightnessListener() {
@Override
public void setBrightnessPosition(int mMax, int currIndex) {
// Показать свой макет
videoPlayerView.getGestureBrightnessLayout().setVisibility(View.VISIBLE);
// Установить содержимое макета
videoBrightnessPro.setMax(mMax);
videoBrightnessImg.setImageResource(chuangyuan.ycj.videolibrary.R.drawable.ic_brightness_6_white_48px);
videoBrightnessPro.setProgress(currIndex);
}
});
// Прогресс
exoPlayerManager.setOnGestureProgressListener(new OnGestureProgressListener() {
@Override
public void showProgressDialog(long seekTimePosition, long duration, String seekTime, String totalTime) {
// Отобразить свой макет
videoPlayerView.getGestureProgressLayout().setVisibility(View.VISIBLE);
exo_video_dialog_pro_text.setTextColor(Color.RED);
exo_video_dialog_pro_text.setText(seekTime + "/" + totalTime);
}
// Завершить настройку прогресса
@Override
public void endGestureProgress(long position) {
exoPlayerManager.seekTo(position);
}
});
// Аудио
exoPlayerManager.setOnGestureVolumeListener(new OnGestureVolumeListener() {
@Override
public void setVolumePosition(int mMax, int currIndex) {
// Отображение макета
videoPlayerView.getGestureAudioLayout().setVisibility(View.VISIBLE);
// Настройка содержимого макета
videoAudioPro.setMax(mMax);
videoAudioPro.setProgress(currIndex);
videoAudioImg.setImageResource(currIndex == 0 ? R.drawable.ic_volume_off_white_48px : R.drawable.ic_volume_up_white_48px);
}
});
Макет обложки изображения (совместим с использованием пользовательского макета управления)
Макет ссылки:
<chuangyuan.ycj.videolibrary.widget.VideoPlayerView android:id="@+id/exo_play_context_id" android:layout_width="match_parent" android:layout_height="200dp" app:player_preview_layout_id="@layout/exo_default_preview_layout" .... />
>> Примечание:
* Кнопка воспроизведения с указанным ID → **<font color="red"> android:id="@id/exo_preview_play"<font>**
* ImageView обложки с указанным ID → **<font color="red"> android:id="@id/exo_preview_image"<font>**
3. Обратите внимание:
* Вам не нужно беспокоиться о проблеме скрытия макета после операции жеста. Макет автоматически скрывается, вам нужно только сосредоточиться на отображении контента.
* Макет жестов можно настроить для одного или двух макетов. Пользователи сами решают, какие макеты им нужны.
### Пять.
**Пользовательский контроль воспроизведения видео**
Можно добавить атрибуты для настройки представления. Доступные атрибуты:
| name | type | info |
| --- | --- | --- |
| scrubber_drawable | reference | Устанавливает пользовательский ресурс изображения текущего воспроизводимого видео |
| scrubber_color | color | Устанавливает цвет точки воспроизведения видео |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )