我的Android应用程序具有大量的远程托管媒体文件(通过AWS),其中一些包含嵌入式图稿。当播放这些音频媒体中的任何一个时,我希望使用我的默认图稿-在没有嵌入式图稿时使用。
我试过了
app:use_artwork="false"
app:default_artwork="@drawable/backgroundimage"
但是与Javadocs似乎暗示的结果相反,我当然只是得到了一个黑色的背景。 (use_artwork =“ false”似乎真的意味着“不使用任何艺术品”,而Javadocs暗示了更多的含义是“不使用嵌入式ID3艺术品”)
只需下载千兆字节的媒体文件并对其全部执行批处理操作(问题,因为文件通常是动态添加的),是否有解决方案可以抑制嵌入的图稿并使用背景?
仔细检查一下,我发现https://github.com/mpatric/mp3agic,但是这里的问题是文件正在通过Exoplayer进行流传输,而不是下载它们供我进行编程操作。
最佳答案
在稍微戳一下Exoplayer来源之后,这就是我的想法。这不是绝对理想的,因为在替换之前嵌入式图像会快速闪过,但是我认为这只是移动逻辑以找到最佳位置的问题。
我删除了app:use_artwork="false"
从我的activity_main.xml
在我的BroadcastReceiver中,发生“ trackChanged”事件后,
我添加了此内容(类似于在Exoplayer库本身内部进行的操作):
Bitmap artWork = BitmapFactory.decodeResource(getResources(), R.drawable.backgroundimage);
ImageView aw = (ImageView) findViewById(R.id.exo_artwork);
aw.setImageBitmap(artWork);
aw.setVisibility(View.VISIBLE);