MediaPlayer を使用して、TextureView で動画を再生しています。TextureView のサイズは固定で、動画のサイズは異なります。ビデオを再生しますが、問題はビデオの一部が外側にあり、ビデオが TextureView に合わせて縮小されていないことです。
黒い長方形 + 写真 (ビデオ) が TextureView です。赤い長方形は実際のビデオです。もちろん、問題を示すために描きました。
そのため、ビデオの一部のみが表示され、残りは表示されません。
すべてのビデオを表示し、元のスケール比を維持したい。
ありがとう。
// The class implements SurfaceTextureListener
// Set TextureView to MediaPlayer
m_TextureView.setSurfaceTextureListener(this);
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) {
m_MediaPlayer = new MediaPlayer();
m_MediaPlayer.setSurface(new Surface(surfaceTexture));
}
// Play video
m_MediaPlayer.reset();
m_MediaPlayer.setDataSource(videoFilePath);
m_MediaPlayer.prepare();
m_MediaPlayer.start();