Я пытаюсь изменить приложение UAMP . Моя цель, чтобы приложение работало в автономном режиме. Поэтому моя проблема в том, что я не понимаю, как использовать Glide для загрузки локальных изображений.
Исходный код (который работает) следующий:
/* song.image = "https://..." */
val artFile = glide.applyDefaultRequestOptions(glideOptions)
.downloadOnly()
.load(song.image)
.submit(NOTIFICATION_LARGE_ICON_SIZE, NOTIFICATION_LARGE_ICON_SIZE)
.get()
Я изменил его таким образом:
/* song.image = "asset:///image.png" --> or also --> song.image = "file:///image.png" */
artFile = glide.applyDefaultRequestOptions(glideOptions)
.asFile()
.load(song.image)
.submit(NOTIFICATION_LARGE_ICON_SIZE, NOTIFICATION_LARGE_ICON_SIZE)
.get()
GlideOptions:
private val glideOptions = RequestOptions()
.fallback(R.drawable.default_art)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
Но я получаю эту ошибку:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.uamp.next, PID: 10218
java.util.concurrent.ExecutionException: com.bumptech.glide.load.engine.GlideException: Failed to load resource
at com.bumptech.glide.request.RequestFutureTarget.doGet(RequestFutureTarget.java:205)
at com.bumptech.glide.request.RequestFutureTarget.get(RequestFutureTarget.java:108)
at com.example.android.uamp.media.library.JsonSource$updateCatalog$2.invokeSuspend(JsonSource.kt:121)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)
Caused by: com.bumptech.glide.load.engine.GlideException: Failed to load resource
Спасибо всем !!