【问题标题】:Video view displaying the can't play dialog in android在android中显示无法播放对话框的视频视图
【发布时间】:2025-12-26 21:25:07
【问题描述】:

我正在列表中显示视频。一个接一个地播放视频后,它显示视频无法在android中播放错误,仅在剩余所有版本都工作正常。请帮我解决这个问题。下面是我在视频视图中播放视频的代码。

 videoview.setVideoURI(Uri.parse(streamInfo.video_streams.get(0).url));

                    viewHolder.large_videoview.seekTo(starttime * 1000);
                    viewHolder.large_videoview.start();


  videoview.setOnPreparedListener(new OnPreparedListener() {
                // Close the progress bar and play the video
                public void onPrepared(MediaPlayer mp) {
                    mMediaPlayer = mp;

                    mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
                        @Override
                        public boolean onInfo(MediaPlayer mp, int what, int extra) {
                            Log.e("large_videoview", "<><>onInfo");

                            if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START)
                                //Log.e("buffering starts", "buffering starts");
                                if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END)
                                    Log.e("buffering ends", "<><>buffering ends");
                            return false;
                        }
                    });
                }
            });

在我的日志猫中出现此错误

E/MediaPlayer:调用失败:错误状态 0,mPlayer(0x7a30b0e0)

E/MediaPlayer:错误 (1,-19)

E/MediaPlayer:错误 (1,-1010)

【问题讨论】:

  • 这与您的问题无关,但它永远不会以当前状态打印“缓冲结束”日志。 what 不能同时是两个值,如果条件适用于“缓冲结束”日志,则通过注释“缓冲开始”日志,您已经创建了两个值。括号是你的朋友。

标签: android android-videoview android-7.1-nougat


【解决方案1】:

你确定你是这样做的吗?

videoview.setOnPreparedListener(new OnPreparedListener() {

                public void onPrepared(MediaPlayer mp) {
                    videoview.start();
                }
            });

即等待VideoView 准备好,一旦准备好,你就打电话给start()

【讨论】: