I have a media datasource, and I am playing the media using android MediaPlayer
.
How can I display the video output from the MediaPlayer
to multiple views in the same Activity
, is there any alternative ways to do this?
I want the video part of the media to be rendered in two different views without reading multiple times from data source.
Current Code :
TextureView mTextureView1;
TextureView mTextureView2;
mTextureView1.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
mMediaPlayer = new MediaPlayer(AppActivity.this);
try {
mMediaPlayer.setDataSource(getApplicationContext(), Uri.parse(path));
} catch (IOException e) {
e.printStackTrace();
}
mMediaPlayer.setSurface(new Surface(surface));
mMediaPlayer.setLooping(true);
mMediaPlayer.prepareAsync();
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
}