android - 使用android的mediaRecorder的文件大小限制?
问题描述
我使用 android 的媒体记录器制作了一个自定义摄像机。我面临的问题是当文件大小达到 3.80 GB 时它会停止录制。
- 我知道这不是文件系统问题,因为我的 sdcard 有 ntfs(我的手机支持它-Honor 6X)
- 我的 SD 卡上有足够的空间。
- 我什至没有使用 MediaRecorder.setMaxFileSize()。
- 我手机中的内置相机应用程序可以轻松拍摄超过 3.80 GB 的视频。
那么这里的问题到底是什么?我知道在某些 android 设备中,相机应用程序具有嵌入式文件大小限制,与文件系统无关。但这在制作自定义视频录制应用程序时应该不是问题吗?
编辑:在下面发布解决方案。
解决方案
好的,我找到了解决方案,问题是我没有使用 MediaRecorder.setMaxFileSize(),所以默认情况下限制设置为 4GB。即使使用 MediaRecorder.setMaxFileSize(-ve or 0),它显然根据其参考页面禁用了文件大小限制,但仍然在内部将文件大小限制设置为 4GB(如果有人对此有更多信息,请分享)。 解决方案是,我使用 StatFS 在内部存储中找到了可用空间,并将其设置为 setMaxFileSize() 的参数,效果很好。我终于能够越过 4GB 文件的限制。 这适用于所有支持文件大小大于 4GB 的文件系统。
推荐阅读
- java - 如何生成通过从 Arraylist 中递归删除所有奇数索引元素创建的序列,以便我们最后只得到 1 个元素?
- nginx - IdentityServer4 中的发现文档在 Ubuntu nginx 上返回 404
- ionic4 - viewdidenter 上的离子滚动顶部特定元素
- python-2.7 - 通过使用 python pandas 删除不需要的行来读取文件
- android - 如何在应用重启之间保存和恢复 Flutter ListView 的滚动位置?
- actions-on-google - 在 Google Home 设备上,下一个 MediaObject 一秒钟后停止播放
- javascript - 在同一个组件内多次集成 Ng-Survey
- javascript - 对于 React Native 应用程序的以下代码示例,Jest 中的单元/组件/快照测试将是什么
- django - 使用 Nginx 部署 Django 后,将图片上传到 admin 后台并看到 PermissionError
- c# - 在 Unity3D 场景中更改 Android 状态栏颜色