Exoplayer v2.9 TransferListener 不带参数

Exoplayer v2.9 TransferListener does not take parameters

我刚刚将我的 exoplayer 从 2.8.4 更新到 v2.9。 但是现在,我遇到了以下错误: 错误:类型 TransferListener 不接受参数

错误似乎是指这一行:

    mediaDataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "mediaPlayerSample"), (TransferListener<? super DataSource>) bandwidthMeter);

TransferListener 更专业。

这里是完整的方法(适用于 2.8.4):

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video_player);

    shouldAutoPlay = true;
    bandwidthMeter = new DefaultBandwidthMeter();
    mediaDataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "mediaPlayerSample"), (TransferListener<? super DataSource>) bandwidthMeter);

    window = new Timeline.Window();
    ivHideControllerButton = (ImageView) findViewById(R.id.exo_controller);

}

谁能告诉我更新后出现了什么问题?

非常感谢您的帮助。

使用

 mediaDataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "mediaPlayerSample"), (TransferListener) bandwidthMeter);

并将这些行添加到 build.gradle

android {
...
...
   compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
    }
...
}

记得使用最新的gradle-5.1.1-all