2

Just playing video with mediaPlayer on TextureView but getting low FPS than videoView. Is there any way to overcome this?

    textureView = findViewById(R.id.textureView);
    textureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
        @Override
        public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i, int i1) {


            Surface s = new Surface(surfaceTexture);


            try {
                mMediaPlayer = new MediaPlayer();

                mMediaPlayer.setDataSource(getApplicationContext(), uri);
                mMediaPlayer.setSurface(s);
                mMediaPlayer.prepare();

                mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                    @Override
                    public void onPrepared(MediaPlayer mediaPlayer) {
                        mediaPlayer.setLooping(true);
                    }
                });


                mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                mMediaPlayer.start();

                if (textureView == null) {
                    textureView = new TextureView(getApplicationContext());
                }




//adjustAspectRatio(mMediaPlayer.getVideoWidth(),mMediaPlayer.getVideoHeight());

            } catch (Exception e) {

        }

[Tested on slightly older TV device.]

Any way to increase FPS/frame rate by buffering or making play it faster? Is it effective to set Media acceleration on for this?

Or do I have to stick with less FPS?

Rifat
  • 1,700
  • 3
  • 20
  • 51

0 Answers0