美文网首页Android技术知识Android开发经验谈
VideoView播放视频加载显示切换问题

VideoView播放视频加载显示切换问题

作者: Ad大成 | 来源:发表于2022-01-21 15:53 被阅读0次

播放视频的时候 会有一个等待时间 这个时候我们需要用一个loading来显示出来
当准备完毕的时候播放发现视频图像出不来 需要默认设置一个黑色 然后再调整透明

              videoUrl = Uri.parse(data);

                    mediaController = new MediaController(mContext);
                    mediaController.setPadding(560,0,560,0);
                    mVideo.setMediaController(mediaController);
                mediaController.setVisibility(VISIBLE);
                mVideoRoot.setVisibility(VISIBLE);
                mWebView.setVisibility(INVISIBLE);
                mVideoLoading.setVisibility(VISIBLE);
                mVideo.setAlpha(0);
                mVideo.setVideoURI(videoUrl);
                Log.e(TAG, "handler: mVideo="+mVideo );

//                Bitmap netVideoBitmap = getNetVideoBitmap(videoUrl.toString());
//                if (netVideoBitmap != null){
//                    mVideo.setBackground(new BitmapDrawable(getResources(),netVideoBitmap));
//                }

                mVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                    @Override
                    public void onPrepared(MediaPlayer mp) {
                        mVideo.setAlpha(1);
                        mVideoLoading.setVisibility(GONE);
                        mVideo.setBackgroundColor(Color.BLACK);
                        Log.e(TAG, "onPrepared: ");
                        mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
                            @Override
                            public boolean onInfo(MediaPlayer mp, int what, int extra) {
                                if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
                                    Log.e(TAG, "onInfo: " );
                                    mVideo.setBackgroundColor(Color.TRANSPARENT);
                                }
                                return true;
                            }
                        });
                        playComplete = false;
                        mVideo.start();
                    }
                });


                mVideo.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        Log.e(TAG, "onCompletion: close video  mp= "+mp );
//                            mVideo.stopPlayback();
                            mVideo.pause();
//                            mVideo.suspend();
                            mVideo.setVideoURI(videoUrl);
                        playComplete = true;

                    }
                });

                mVideo.setOnClickListener(new OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        Log.e(TAG, "onClick: isPlaying()="+ mVideo.isPlaying() );
                        if (!mVideo.isPlaying()){
                            mVideo.resume();
                            playComplete = false;

                        }
                    }
                });

            }

相关文章

网友评论

    本文标题:VideoView播放视频加载显示切换问题

    本文链接:https://www.haomeiwen.com/subject/rlwehrtx.html