Я разработал приложение для Android TV, которое основано на Google leanback library
.
Видео отлично воспроизводится как на emulators
, так и на Version (7) Nougat
TV Box.
Нокогда мы тестируем его в Android Version (6)
телевизионном окне «Зефир» , то при воспроизведении видео оно показывает Не удается воспроизвести это видео на экране сразу предупреждающее сообщение.
Он попытался:
Поместить статический URL-адрес видео из Google Sample (http://commondatastorage.googleapis.com/android-tv/Sample%20videos/April%20Fool's%202013/Introducing%20Google%20Nose.mp4) в путь к видео для перекрестной проверки, и он воспроизводится без проблем.
Также из файлов пути res / raw видео воспроизводятся нормально.
Но когда я пытаюсь установить фактический URL-адрес моих видео, который я получаю из API, он всегда показывает, можетНе воспроизводите это видео только в версии Marshmallow .
Также видео отлично воспроизводится на Emulators
, а также в обеих версиях.
Вот некоторый код.
mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("video", "setOnErrorListener ");
return true;
}
});
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
if (mPlaybackState == PlaybackState.PLAYING) {
mVideoView.start();
}
mp.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
progressBar.setVisibility(View.GONE);
mp.start();
}
});
mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_INFO_BUFFERING_START:
progressBar.setVisibility(View.VISIBLE);
break;
case MediaPlayer.MEDIA_INFO_BUFFERING_END:
progressBar.setVisibility(View.GONE);
break;
}
return false;
}
});
}
});
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
/*mPlaybackState = PlaybackState.IDLE;*/
mp.start();
}
});
Так что я не могу определить точную причину, по которой всегда показывается Не могу воспроизвести это видео на vErsion Marshmallow
.
Я застрял с этой проблемой.
Очень нужна помощь, чтобы решить эту проблему на Android Marshmallow TV Box
версии.
Любая помощь будет принята с благодарностью.
Дайте мне знать, если потребуется какая-либо информация.