The surface has been released when I try to setDisplay to MediaPlayer

后端 未结 6 664
忘掉有多难
忘掉有多难 2021-01-03 22:23

My xml file:



        
6条回答
  •  既然无缘
    2021-01-03 23:00

    We can look at VideoView source code:

    SurfaceHolder.Callback mSHCallback = new SurfaceHolder.Callback(){
    ...
        public void surfaceCreated(SurfaceHolder holder)
        {
            mSurfaceHolder = holder;
            openVideo();
        }
        private void openVideo() {
            ...
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDisplay(mSurfaceHolder);
        }
    }
    

    So we can learn that we should use mediaplayer.setDisplay() in surfaceCreate method be called.

提交回复
热议问题