Приложение Android TV не воспроизводит видео в версии Marshmallow (6) Только TV Box - PullRequest
0 голосов
/ 29 ноября 2018

Я разработал приложение для Android TV, которое основано на Google leanback library.

Видео отлично воспроизводится как на emulators, так и на Version (7) Nougat TV Box.

Нокогда мы тестируем его в Android Version (6) телевизионном окне «Зефир» , то при воспроизведении видео оно показывает Не удается воспроизвести это видео на экране сразу предупреждающее сообщение.

Он попытался:

  1. Поместить статический URL-адрес видео из Google Sample (http://commondatastorage.googleapis.com/android-tv/Sample%20videos/April%20Fool's%202013/Introducing%20Google%20Nose.mp4) в путь к видео для перекрестной проверки, и он воспроизводится без проблем.

  2. Также из файлов пути res / raw видео воспроизводятся нормально.

  3. Но когда я пытаюсь установить фактический URL-адрес моих видео, который я получаю из API, он всегда показывает, можетНе воспроизводите это видео только в версии Marshmallow .

  4. Также видео отлично воспроизводится на 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 версии.

Любая помощь будет принята с благодарностью.

Дайте мне знать, если потребуется какая-либо информация.

...