内部存储器也就是“/data/data/”,MediaPlayer播放这个目录下的文件时,setDataSource()里不能传入文件路径,而应该传入文件句柄,即new FileInputStream(path).getFD(),否则会报“prepare failed“异常,“prepare failed“异常是因为Android的权限机制。
作为应用程序本身,可以操作自己的缓存(即“/data/data/package/”),而MediaPlayer则需要读写权限,不使用上面的方法,可以使用Runtime.getRuntime().exec("chmod o+r /data/data/com.mypackage/myfile")。
续:保存/data/data/<app package name>/目录下的声音文件,需要是OGG格式,MP3格式无法播放。

本文介绍了在Android中使用MediaPlayer播放内部存储器文件时应注意的问题,包括如何正确设置数据源以避免权限异常,以及对于不同格式的支持情况。
374

被折叠的 条评论
为什么被折叠?



