Ниже приведен фрагмент кода, который мы используем для воспроизведения видео mp4 с URL-адреса с помощью ExoPlayer1, и я после обновления до ExoPlayer2. Я не уверен, что обновить, чтобы он заработал после обновления, так как я не слишком знаком с самим ExoPlayer и не так много полезной документации по этому поводу. Любая помощь приветствуется, если кто-то может затенить немного света. Большое спасибо
private static final int BUFFER_SEGMENT_SIZE = 64 * 1024;
private static final int BUFFER_SEGMENT_COUNT = 256;
private ExoPlayer videoPlayer;
private Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
private void playVideo(Uri uri) {
    Handler handler = new Handler();
    DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(handler, null);
    DataSource dataSource = new DefaultUriDataSource(getContext(), bandwidthMeter, "Android-ExoPlayer");
    SampleSource sampleSource = new ExtractorSampleSource(
            uri,
            dataSource,
            allocator,
            BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE);
    TrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(
            sampleSource,
            MediaCodecSelector.DEFAULT);
    // 2. Construct renderers.
    TrackRenderer videoRenderer = new MediaCodecVideoTrackRenderer(
            getContext(),
            sampleSource,
            MediaCodecSelector.DEFAULT,
            MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT);
    // 1. Instantiate the player.
    if (videoPlayer == null) {
        videoPlayer = ExoPlayer.Factory.newInstance(4);
    }
        // 3. Inject the renderers through prepare.
        videoPlayer.prepare(videoRenderer, audioRenderer);
        // 4. Pass the surface to the video renderer.
        SurfaceTexture surfaceTexture = textureView.getSurfaceTexture();
        Surface surface = new Surface(surfaceTexture);
        videoPlayer.sendMessage(videoRenderer, MediaCodecVideoTrackRenderer.MSG_SET_SURFACE, surface);
    videoPlayer.addListener(new ExoPlayer.Listener() {
        @Override
        public void onPlayerStateChanged(boolean b, int i) {
            if (i == ExoPlayer.STATE_READY) {
                mediaControl.setMedia(new MediaControl.Media() {
                    @Override
                    public void setCurrentPosition(long positionMs) {
                        if (videoPlayer != null) {
                            videoPlayer.seekTo(positionMs);
                        }
                    }
                    @Override
                    public long getCurrentPosition() {
                        if (videoPlayer != null) {
                            return videoPlayer.getCurrentPosition();
                        }
                        return 0;
                    }
                    @Override
                    public long getDuration() {
                        if (videoPlayer != null) {
                            return videoPlayer.getDuration();
                        }
                        return 0;
                    }
                    @Override
                    public void start() {
                        if (videoPlayer != null) {
                            videoPlayer.setPlayWhenReady(true);
                        }
                    }
                    @Override
                    public void pause() {
                        if (videoPlayer != null) {
                            videoPlayer.setPlayWhenReady(false);
                        }
                    }
                    @Override
                    public int getBufferedPercentage() {
                        if (videoPlayer != null) {
                            return videoPlayer.getBufferedPercentage();
                        }
                        return 0;
                    }
                });
                mediaControl.start();
                videoPlayer.removeListener(this);
            }
        }
        @Override
        public void onPlayWhenReadyCommitted() {
        }
        @Override
        public void onPlayerError(ExoPlaybackException e) {
            mediaControl.pause();
        }
    });
    // 5. Start playback.
    mediaControl.start();
}
 
                                                                     
                                                                    