IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Android问题集锦之三十九:使用Camera录像的常见问题

    lincyang发表于 2015-05-17 14:20:01
    love 0

    在Android5.0之前我们一直使用android.hardware.Camera做拍照和录像,然而使用的过程并不是一帆风顺的,我跟着官方Camera文档编码实验,却也遇到了各种各样的问题,下面就来分别说说。
    另外,API21开始推荐使用android.hardware.Camera2这个包了。

    一、权限问题
    使用Camera需要有camera的权限,录像时需要有录制音频的权限,保存相片和视频时需要有操作sdcard的权限。否则,因为权限问题就会报错。有些报错会显示告诉你权限问题,但有些不会,比如下面这个。

    java.lang.RuntimeException: setAudioSource failed

    这就是录制音频的权限没有。
    下面列出几个必须的权限:

        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-feature android:name="android.hardware.camera" />
        <uses-feature android:name="android.hardware.camera.autofocus" />

    二、startPreview fails

    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

    一般都是设置上面的Type就好了,但是我的4.0.3的酷派的手机就仍然报错,而4.0.4和4.4的手机都没有问题,我也是找了N多资料,但是最后还是给跪了,应该是硬件问题。
    也试了Camera.open()之前将camera置为null,都不行。
    三、MediaRecorder﹕ start failed: -19
    这个错误出现在我的4.4的5太子上。
    任我怎么修改也不行,最后用了其他人的代码才终于跑起来。
    参考:http://blog.csdn.net/shen332401890/article/details/8819564

    总结:
    众多的API版本使得向下兼容变得很难,在漫长的API1到API21的过程中,不一定哪一个API会跟你惊喜,让你原本预计一个小时的工作变成一天甚至更多。



沪ICP备19023445号-2号
友情链接