I’m trying to play files when downloading from Telegram. Now a file that is not fully downloaded in the temp folder cannot be played at all. Although the file is not completely downloaded, if you download it on Windows and try to open it, the file will play. The error listener throws an error: Error androidx.media3.exoplayer.ExoPlaybackException: Source error
runOnUiThread(() -> {
File file = new File(/*f.local.path*/"/data/data/com.admin.moviex.web/files/temp/42"/*"/data/data/com.admin.moviex.web/files/videos/Marco.Macaco.2012.HDTV.Xvid-HebDub.mp4"*/);
if(file.exists()) {
Log.i("i_tag", "ffff");
}
Uri fileUri = Uri.fromFile(file);
String strUri = fileUri.toString();
//MediaItem mi = MediaItem.fromUri(fileUri);
MediaItem mi = new MediaItem.Builder()
.setUri(fileUri)
.setMimeType(MimeTypes.VIDEO_MP4)
.build();
try {
ExoPlayer player = new ExoPlayer.Builder(getApplicationContext()).build();
player.addListener(new Player.Listener() {
@Override
public void onPlayerError(PlaybackException error) {
Log.e("i_tag", "Playback error: " + error.getMessage());
}
});
binding.videoView.setPlayer(player);
player.setMediaItem(mi);
player.prepare();
player.setPlayWhenReady(true);
} catch (Exception e) {
Log.i("i_tag", "exception");
}
});