Android VideoView MediaPlayer OnInfoListener - 事件未触发

标签 android video-streaming android-mediaplayer

给出了以下源代码 fragment :

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mediaPlayer) {

            mediaPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() {
                @Override
                public boolean onInfo(MediaPlayer mp, int what, int extra) {
                    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END){
                        activity.dismissDialog(DialogID.DIALOG_LOADING);
                        return true;
                    } 
                    return false;
                }
            });
        }
    });

我正在使用 Android 3.x+ 设备流式传输 HLS 流,并尝试在缓冲完成后隐藏加载对话框。 视频流有效,但永远不会触发信息事件。

有什么想法吗?

最佳答案

我知道为时已晚,但将其发布给仍在寻求解决方案的用户(这对我有用):

        progressDialog.show();
        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                mediaPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() {
                    @Override
                    public boolean onInfo(MediaPlayer mp, int what, int extra) {
                        if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END){
                            progressDialog.dismiss();
                            return true;
                        } else if(what == MediaPlayer.MEDIA_INFO_BUFFERING_START){
                            progressDialog.show();
                        }
                        return false;
                    }
                });
                progressDialog.dismiss();
                videoView.start();
            }
        });

关于Android VideoView MediaPlayer OnInfoListener - 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882815/

相关文章:

flash - 流媒体视频,如 youtube、vimeo 等?我的自由和开源软件选项有哪些?

安卓媒体播放器 : IllegalStateException when app closes/press back button

java - 通过触摸播放音频 - Android

java - 我如何将 int 作为 SQLite 中 where 子句的参数传递?

Google Play 发布的 Android Facebook key

android - 在代码中打开 Gallery of Android 的可靠方法是什么?

android - 使用 SurfaceView 居中裁剪 Exoplayer

html - 是否可以使用 webrtc 进行一对多视频 session

java - JSON 异常 : org. json.JSONException: Unterminated array

java - Android 如何播放 Assets 文件夹中的媒体文件 (.mp4)