作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我的测试手机录制视频但没有外置 SD 卡时,我遇到了问题。我收到录音错误是因为:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)
指向外部 sd 卡,由于外部 sd 不存在,手机不够智能,无法指向内部存储。
这个问题有解决办法吗?
如果没有,如何直接录制到内部存储?
最佳答案
如果你想测试SD卡是否存在,阅读documentation on Environment.getExternalStorageState() .这包括演示如何测试 SD 卡是否已安装、可读和/或可写的代码。如果您的应用程序正在运行时移除卡,它甚至会注册 BroadcastReceiver。
当 SD 卡不可用时,您可以将保存的文件转移到内部存储器。
来自评论的补充
您没有提供有关当前如何测试 SD 卡可用性的任何详细信息,因此我概括了该过程。
MediaRecorder mediaRecorder = new MediaRecorder();
...
String state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state))
mediaRecorder.setOutputFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES) + "/video.mp4");
else
mediaRecorder.setOutputFile(getFilesDir().getAbsolutePath() + "/video.mp4");
关于android - 如何将视频录制到内部存储器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11507111/
我是一名优秀的程序员,十分优秀!