小编Man*_*ela的帖子

Exoplayer 2的动态播放列表

我想将ExoPlayer2与播放列表一起使用,可以动态地改变音轨(在播放列表中添加或删除它们)并更改循环设置.

由于ConcatenatingMediaSource有静态数组(而不是列表),我正在实现一个DynamicMediaSource,比如连接一个但是用列表而不是数组和一个模式方法addSource来向列表添加一个以上的媒体源.

public void addSource(MediaSource mediaSource) {
    this.mediaSources.add(mediaSource);
    duplicateFlags = buildDuplicateFlags(this.mediaSources);
    if(!mediaSources.isEmpty())
        prepareSource(mediaSources.size() -1);
    else
        prepareSource(0);
}
Run Code Online (Sandbox Code Playgroud)

当我调用addSource时

                MediaSource ms = buildMediaSource(mynewuri, null);
                mediaSource.addSource(ms);
Run Code Online (Sandbox Code Playgroud)

轨道被添加到数组但似乎缺少某些东西,因为我总是在createPeriod方法中获得ArrayOutOfBoundsException.

在createPeriod中的方法

mediaSources.get(sourceIndex)...
Run Code Online (Sandbox Code Playgroud)

正在尝试访问index = mediaSources.size().

你能帮助我吗?

android playlists exoplayer exoplayer2.x

5
推荐指数
1
解决办法
3075
查看次数

如何在proguard中保持包级kotlin函数?

我在库中将程序包级函数声明为实用程序,我想在主应用程序中使用它。

我的问题是我无法使用proguard阻止代码混淆(因此无法在我的主应用程序中使用它)。

我的文件it.blabla.util.Extensions.kt

fun foo(context: Context, action: String) { ... } 我已经尝试使用以下方法将其保留在proguard中:

-keep class it.blablabla.util.UtilPackage.** { *; }

要么

-keep class it.blablabla.util.** { *; }

但是这些都不起作用。

在我的应用程序中,我尝试如下使用foo:

foo(applicationContext, "test")

但是我找不到正确的导入内容,无法通过aar模块在我的应用中显示foo。我不断收到以下编译错误:

未解决的参考:foo

android proguard kotlin android-proguard

5
推荐指数
1
解决办法
292
查看次数