近日andorid开发需要用到录像功能,搜了一下相关代码,功能实现以后,部分手机出现一下情况:
1.拍照闪退,测试机上正常,用户手机出现拍照闪退。只有一个人的手机闪退,于是把它的手机拿过来debug了一下,原因是这台手机是android11版本,该版本不允许在根目录下创建文件,由于之前在写拍照功能的时候,返回的图片不清晰,所以改用了把图片保存到本地的方式,图片就是原画质了,但是保存的路径,我就随便用了一个根目录的,结果就是该版本无法拍照。
解决方式,修改目录为公共目录。
2.录像时遇到一个手机,录制完成后无法返回上一个页面。debug一下,发现录制的内容文件创建成功了,但是0kb。由此确定,是录像功能没有录制成功。于是,去网上查了相关的帖子,最后锁定在了两行代码上,由于系统自带的录像功能要么是高清模式,要么是非高清模式(极其模糊无法使用),高清视频文件太大,不利于上传下载,所以自定义了一下,设置了相关的参数,其中一个参数是帧率,由于我想压缩一下录制视频的大小,所以把帧率设置的很小,20,正常是60或者30,测试的时候我的手机没问题,上线后也只有一个手机不行,最后又把帧率调成30.不知道什么原因。可能那台设备不支持20帧率,或者没有相关的自动识别功能吧。