Android TV应用程序无法播放棉花糖版本(6)电视盒中的视频

时间:2018-11-29 07:03:01

标签: android android-6.0-marshmallow android-videoview android-tv leanback

我开发了一个基于Google leanback library的Android TV应用。

视频在emulatorsVersion (7) Nougat电视盒中都可以正常播放。

但是,当我们在Android Version (6) 棉花糖电视盒中对其进行测试时,则在播放视频时,它会在屏幕上显示无法播放此视频的警告消息立即。

它尝试的是:

  1. 在视频路径中放入静态Google示例视频URL(http://commondatastorage.googleapis.com/android-tv/Sample%20videos/April%20Fool的%202013 / Introducing%20Google%20Nose.mp4)进行交叉验证,并且确实可以正常播放。

    < / li>
  2. res / raw文件夹路径中的视频也可以正常播放。

  3. 但是当我尝试设置从API获得的视频的实际URL时,总是显示无法仅在棉花糖版本中播放此视频。

  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();
    }
});

因此,我无法确定始终显示无法在版本Marshmallow上播放此视频的确切原因。

我一直困扰着这个问题。

确实需要帮助来解决Android Marshmallow TV Box版本的此问题。

任何帮助将不胜感激。

如果需要任何详细信息,请告诉我。

0 个答案:

没有答案