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?