首页 > 解决方案 > Android Exoplayer 无法打开资产音频文件

问题描述

我尝试assets使用 exoplayer 从 androids 文件夹播放本地音频文件 (.mp3)。

我将以下代码用于测试目的:

val uri = Uri.fromFile(File("//assets/iron_maiden_fear_of_the_dark.mp3"))
println("$uri")  --> file:///assets/iron_maiden_fear_of_the_dark.mp3

现在我尝试创建一个 exoplayer AssetDataSource:

val dataSpec = DataSpec(uri)
val assetDataSource = AssetDataSource(this)
assetDataSource.open(dataSpec)

这会引发异常:

com.google.android.exoplayer2.upstream.AssetDataSource$AssetDataSourceException: java.io.FileNotFoundException: assets/iron_maiden_fear_of_the_dark.mp3

我不知道为什么?

标签: androidexoplayerexoplayer2.x

解决方案


通过使用RawResourceDataSource文件res/raw夹中的文件解决了这个问题。


推荐阅读