Я пытаюсь заменить представление ExoPlayer2 на ImageView, если файл мультимедиа недоступен.
if(stepVideo != null) {
mPlaceHolderIv.setVisibility(View.GONE);
exoPlayerView.setVisibility(View.VISIBLE);
initializePlayer(Uri.parse(stepVideo));
//initialize MediaSession
initializeMediaSession();
} else if(stepThumbUrl != null) {
mPlaceHolderIv.setVisibility(View.GONE);
exoPlayerView.setVisibility(View.VISIBLE);
initializePlayer(Uri.parse(stepThumbUrl));
//initialize MediaSession
initializeMediaSession();
} else {
exoPlayerView.setVisibility(View.GONE);
releasePlayer();
mPlaceHolderIv.setVisibility(View.VISIBLE);
Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(mPlaceHolderIv);
}
Я знаю, что вызывается else, потому что показывается изображение заполнителя;однако элементы управления воспроизведением все еще видны.Я перепробовал все ответы здесь , но все равно отображается контрольный вид (воспроизведение, пауза и т. Д.).Есть идеи?
Примечание. Я перезаписал пользовательские элементы управления файлом, помеченным как exo_playback_control_view.xml
.
Редактировать: Исправлена проблема с отображением элементов управления, когда просмотр был УХОДЕН, но возникает новый вопрос: почемуxml для SimpleExoPlayerView должен иметь app:use_controller="false"
, а затем установить его в true в java при инициализации и снова в false при выпуске?Почему управляющее представление не исчезает вместе с остальной частью SimpleExoPlayerView?