0
votes

I am playing video on Android using ExoPlayer. But " DefaultBandwidthMeter();" is deprecated.

    DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();

        //DefaultTrackSelector chooses tracks in the media item
        DefaultTrackSelector trackSelector = new DefaultTrackSelector(this);
        trackSelector.setParameters(trackSelector.buildUponParameters().setMaxVideoSizeSd());
        mPlayer = new SimpleExoPlayer.Builder(this).setTrackSelector(trackSelector).build();

        DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "exoplayerapp"), bandwidthMeter);
        MediaSource mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(url));

        mPlayer.prepare(mediaSource);

        playerView.setKeepScreenOn(true);
        playerView.requestFocus();
        playerView.setPlayer(mPlayer);
        mPlayer.setPlayWhenReady(true);
        playBackStateListener = new PlayBackStateListener();
        mPlayer.addListener(playBackStateListener);

What should I use insead of this and according to that with what I should replace the following line which is using theis bandwidthMeter?

  DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "exoplayerapp"), bandwidthMeter);
2
ExoPlayer is still popular for deprecating it's methods faster. I used it in 2015-16M D

2 Answers

2
votes
0
votes

If you use HLS Media Type you should this:

val defaultHttpDataSourceFactory = DefaultHttpDataSource.Factory()

Note: It worked this version: implementation 'com.google.android.exoplayer:exoplayer:2.16.1'