如何在ExoPlayer中创建具有DASH内容可用质量的对话框?

时间:2018-08-27 06:57:45

标签: android video-streaming exoplayer

我在我的应用程序中使用Exoplayer,我想显示DashMediaSource。 我做到了,视频将播放此代码:

 DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "ExoPlayer"));
    Uri uri = Uri.parse(videoUrl);
    DashMediaSource dashMediaSource = new DashMediaSource(uri, dataSourceFactory,
      new DefaultDashChunkSource.Factory(dataSourceFactory), null, null);

    BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter));

    player = ExoPlayerFactory.newSimpleInstance(this, trackSelector);

    simpleExoPlayerView.setPlayer(player);
    player.prepare(dashMediaSource);

但是我需要向用户显示此vide0质量的选择器。

我只想从我的破折号文件中获取所有可用的质量,并显示给使用。

ExoPlayer 1.5.8中,我使用getTrackCount()来获取所有可用的质量,但是在ExoPlayer 2.5.3中,它不再可用。

我该怎么做?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用AnalyticsListener?

player.addAnalyticsListener(new AnalyticsListener() {
            @Override
            public void onBandwidthEstimate(EventTime eventTime, int totalLoadTimeMs, long totalBytesLoaded, long bitrateEstimate) {

            }
        });