我正在尝试通过Android中的MediaRecorder类录制音频,将其保存在文件中,然后使用MediaPlayer播放.
在这里选择要保存音频文件的文件:
currentDate = Calendar.getInstance().getTime();condensedDate = currentDate.toString().replaceAll("\s", "")filename = getExternalCacheDir().getabsolutePath();filename += file.separator + condensedDate + ".3gp";
在这里,我将其设置为MediaRecorder的输出文件
Recorder.setoutputfile(filename);
然后,在另一个Activity中,我使用MediaPlayer播放该文件音频:
MediaPlayer player = new MediaPlayer();try { player.setDataSource(filename); player.prepare(); player.start();} catch (IOException e) { e.printstacktrace();}
这是问题开始的地方,什么也没播放,这是我的日志:
09-09 14:31:38.887 1522-26066/? E/fileSource: Failed to open file '/storage/emulated/0/AndroID/data/com.mycompany.dbmeter.pro/cache/SunSep0914:31:19GMT+00:002018.3gp'. (Permission denIEd)09-09 14:31:38.887 1522-26066/? E/GenericSource: Failed to create data source!09-09 14:31:38.887 25996-26064/com.mycompany.dbmeter.pro E/MediaPlayerNative: error (1, -2147483648)
这很奇怪,因为我一步一步地遵循了可以找到here的官方示例代码.
我尝试使文件世界可读,如建议的in this stack overflow post.
我也尝试了建议的here,但没有任何改变.
我究竟做错了什么?
解决方法:
我解决了这个问题,由于某种原因,我使用的文件名导致了该错误.
我曾经获取日期,将其转换为字符串并消除所有空格;像这样的东西:
SunSep0914:31:19GMT+00:002018.3gp
现在,在调试我的应用程序时,我将其更改为test.3gp,它的工作原理就像一个魅力……
总结以上是内存溢出为你收集整理的android-无法打开文件(权限被拒绝)全部内容,希望文章能够帮你解决android-无法打开文件(权限被拒绝)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)