Это ссылка на мое приложение: https://play.google.com/store/apps/details?id=com.videocaller.videoringtone
Я пытался показывать видео всякий раз, когда получаю входящий вызов. Я столкнулся с некоторыми проблемами, связанными с тем, что Textureview рендерит видео с задержкой. Так что я не могу сделать это. Я использовал videoviewвместо textureview для целей тестирования. Это работает безупречно. Но моя проблема в том, что я не могу использовать videoview.beacuse, мне нужно масштабировать видео, поэтому, вероятно, я должен использовать Textureview.
Я использовал этот Lib для Textureview https://github.com/dmytrodanylyk/video-crop
Даже когда я попробовал свой собственный Textureview.i возникла та же проблема, рендеринг видео требует некоторой задержки.
MediaPlayer mediaPlayer;
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i, int i1) {
mediaPlayer = new MediaPlayer();
mediaPlayer.setSurface(new Surface(surfaceTexture));
try {
mediaPlayer.setDataSource(videoPath);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int i, int i1) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
}