akk*_*kki 1 android media-player android-mediaplayer
这是setDataSource的字符串
/data/data/com.player/app_player/file.mp3
Run Code Online (Sandbox Code Playgroud)
获取E / Exception:setDataSource失败。
这是代码:
mediaPlayer.setDataSource(context, Uri.parse("/data/data/com.player/app_player/file.mp3"));
Run Code Online (Sandbox Code Playgroud)
我使用此代码存储了该文件
getContext().getDir("player", Context.MODE_PRIVATE)
Run Code Online (Sandbox Code Playgroud)
与/data/data/com.player/app_player相同
使用content://data/data/com.player/app_player/file.mp3无效。
这就是我解决的方法。
String musicUrl = "";
if (songSavedInDB()) {
musicUrl = "here is any file path(Internal or external)"
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(musicUrl);
mPlayer.setDataSource(fileInputStream.getFD());
fileInputStream.close();
mPlayer.prepare();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else {
musicUrl = "here is url";
try {
mPlayer.setDataSource(getContext(), Uri.parse(musicUrl));
mPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1021 次 |
| 最近记录: |