【发布时间】:2017-02-06 16:57:03
【问题描述】:
我正在阅读有关此问题的解决方案。我有这个代码
String filename = "android.resource://" + this.getPackageName() + "/raw/" + lastButtonFilename;
try {
Log.i("Home", "Recreamos la URL: " + filename);
mediaPlayer.setDataSource(this, Uri.parse(filename));
} catch (Exception e) {
Log.e("Home", "Error setting source media." + e.getMessage(), e);
}
这是我在 Android Studio 中的应用截图: 我看到了这个日志:
02-06 17:49:28.605 28884-28884/com.mypackage I/Home: Recreamos la URL: android.resource://com.mypackage/raw/sound_test.mp3
02-06 17:49:28.614 28884-28884/com.mypackage W/MediaPlayer: Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No resource found for: android.resource://com.mypackage/raw/sound_test.mp3
我的 src/res/raw 文件夹中有 sound_test.mp3。我正在使用 Android Studio。我已经从正确的路径创建了 URI(我认为)。不会有事吧?
【问题讨论】:
-
我必须动态地提取文件,因为我知道在运行时该文件选择用户,在这些时候很难知道 id。
-
看起来
setDataSource()不接受android.resource方案,所以我认为你没有太多选择。 -
您创建原始文件夹的位置。提供它的简单截图
-
developer.android.com/reference/android/media/…, android.net.Uri) 方法有一个 Context - Uri 形式 :) 我在主帖中添加了一个截图
标签: android