MediaPlayer读取手机内存文件夹权限问题
2011-03-04 11:03
302 查看
写了一个Ap,在程序运行时会解压一些声音文件到/data/data/app_dir目录。
在调用Mediaplayer来播放这些文件时,总是提示失败,在网上搜到有提到权限的问题,把目录改成所有人可读写即可播放,验证后ok。
分析原因是MediaPlayer是个服务,是在另一个进程也是另一个用户的,默认创建的声音文件对其是不可读的,导致无法读取数据,在MediaPlayer.prepare()时总是失败。
但是每次修改目录的权限是不现实的,所以可以先把文件打开,然后把文件句柄传给MediaPlayer,这是MediaPlayer就可以通过此句柄获取到数据。
Java代码
MediaPlayer.setDataSource((new FileInputStream(new File(soundFilePath))).getFD());
MediaPlayer.setDataSource((new FileInputStream(new File(soundFilePath))).getFD());
在调用Mediaplayer来播放这些文件时,总是提示失败,在网上搜到有提到权限的问题,把目录改成所有人可读写即可播放,验证后ok。
分析原因是MediaPlayer是个服务,是在另一个进程也是另一个用户的,默认创建的声音文件对其是不可读的,导致无法读取数据,在MediaPlayer.prepare()时总是失败。
但是每次修改目录的权限是不现实的,所以可以先把文件打开,然后把文件句柄传给MediaPlayer,这是MediaPlayer就可以通过此句柄获取到数据。
Java代码
MediaPlayer.setDataSource((new FileInputStream(new File(soundFilePath))).getFD());
MediaPlayer.setDataSource((new FileInputStream(new File(soundFilePath))).getFD());
相关文章推荐
- android6.0及以上,写入数据到手机内存请求储存权限问题
- Android 版本更新(非热更新) 适配7.0更新 以及三星 note系列读取内存相关目录无权限问题
- php linux 创建文件夹权限问题
- 【android】安卓手机连接电脑时候adb devices找不到设备及找到设备但无权限的问题
- 问个比较菜的问题,在JAVA中new完对象后有没有办法消除对象,节省手机内存。
- Android 读取手机内存实例
- 定位、读取手机状态等权限在6.0系统不管用
- A网站引用B服务器虚拟目录文件导致:网站部署到IIS7上出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
- [ZT]C# 代码实现设置用户"NETWORK SERVICE"具有对文件夹的读取权限。
- 网站部署到IIS7上出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
- Android 有录音文件,卸载SD卡后,手机内存中的录音文件不显示问题分析与修改
- Android设备从外置TF卡文件夹中复制指定文件到到另手机内存文件夹中
- android文件夹目录的读取权限
- vbox安装ubuntu之后挂载共享文件夹无权限访问的问题以及改了主机名,导致命令行不能解析主机名的问题
- android读取email数据库的权限问题
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
- Ubuntu desktop 权限设置 用root登录 以及 声音问题 、显示windows文本的中文乱码 、内存大关swap、亮度、装QQ 、 鼠标和触控板、cacti系统性能监控
- Android开发 华为手机读取相册闪退问题
- Android API23(6.0)以上手机必须手动检测读取权限
- 解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题