最近改代码,删掉了原来录制视频做处理的逻辑,改用onPreviewFrame来回调到预览帧处理。

修改后出现了这个错误getParameters failed (empty parameters)

出现这个错误大概率是在采集视频,需要认真的管理Camera对象,以及跟MediaRecorder类的协调。当使用Camera对象记录视频时,除了Camera.open()和Camera.release()方法的调用以外,还必须管理Camera.lock()和Camera.unlock()方法的调用,从而允许MediaRecorder对象访问Camera硬件。
unlock 应放置在 camera.setParameters(parameters); 后面

//设置Camera 的代码camera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT);camera.lock();Camera.Parameters parameters = camera.getParameters();camera.setDisplayOrientation(90);camera.enableShutterSound(false);parameters.setPreviewFrameRate(25);camera.setParameters(parameters);camera.unlock();//后面跟设置MediaRecorder的代码
<center>

  • Probably the most common reason would be closing/releasing the camera while still using it afterward.
  • This can be especially problematic if you are using the Camera object on multiple threads without synchronizing access to the Camera.
  • Make sure you only ever have a single thread accessing the Camera at a time.

最大的可能是Camera释放不彻底,关闭或释放后仍旧在使用。或者是多个线程可能在不加锁的情况下争用Camera。应保证每个时间最多只有一个线程访问Camera。

此处参考Correct handling of exception: “getParameters failed (empty parameters)”

解决这个问题,可以在出问题的代码前后加上lock和unlock,在声明Parameters前加lock,防止其他的线程访问,在 camera.setParameters(parameters); 后面设置unlock,使mediarecorder可以访问。

在出错的地方,看下是否没有设置,加这两行试一下。

getParameters failed (empty parameters) 问题解决相关推荐

  1. 解决OpenCV问题:OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale,

    解决OpenCV问题:OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale, 目录 ...

  2. 【在虚拟环境下完美解决】1698: error: (-215:Assertion failed) empty() in function cv::CascadeClassifier

    问题描述 官方文档做的Demo发现遇到了错误提示如下: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifi ...

  3. Exception in thread “main“ java.lang.IllegalStateException: Failed to read 问题解决

    Exception in thread "main" java.lang.IllegalStateException: Failed to read 问题解决 参考文章: (1)E ...

  4. dlopen failed: empty/missing DT_HASH in quot;libx.soquot; (built with --hash-style=gnu?)

    dlopen failed: empty/missing DT_HASH in "libx.so" (built with --hash-style=gnu?) 崩溃日志内容: j ...

  5. Tomcat启动报A child container failed during start问题解决

    Tomcat启动报A child container failed during start问题解决 排查方案,把.xml内无关的所有注释掉,启动程序,如果成功了,就一点点代码还原+重启,直至找到致命 ...

  6. sentry中的worker错误解决[ERROR] sentry.errors.events: preprocess.failed.empty

    sentry错误解决 worker failing with [ERROR] sentry.errors.events: preprocess.failed.empty sentry 的worker ...

  7. doris 导入遇tablet writer write failed, err=-235问题解决

    doris 遇tablet writer write failed, tablet_id=27306172, txn_id=28573520, err=-235问题解决 我们是通过sql的方式使用fl ...

  8. 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start问题解决

    第一次写博客,写个简单的好了 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start 问题 我的解决 ...

  9. 关于微信jssdk开发,出现:errmsg config param is empty的问题解决

    微信提供了php的demo代码,遗憾的是其中wx.config中的jsApiList:为空,因此经常有人直接调试的时候就出现下面错误提示: errmsg config param is empty 解 ...

最新文章

  1. WCF第一个Demo
  2. isAssignableFrom和isInstance、instanceof
  3. 数据库中的行锁和表锁
  4. java jsoup解析html标签_jsoup解析html
  5. 【BZOJ】2982 combination
  6. 无源码动态调试APK
  7. 猎豹浏览器网页声音怎么关闭
  8. 如何在gitee上部署网页
  9. [CTO札记]研究:日本Rakuten(乐天)
  10. MySQL 定时任务event
  11. 毕业设计外文文献下载方法
  12. 医院管理数据库课程设计
  13. 语音识别技术:2018年主要参与者的完整指南
  14. ADS2017之S参数仿真
  15. VS2019连接SQL2008实现登录注册功能.
  16. JavaScript 编程规范(一)
  17. webstorm,phpstorm无法打开设置的问题
  18. JPEG图像压缩算法
  19. JavaScript 贪吃蛇游戏的实现
  20. 为面试做准备,整理一些计算机专业的基础知识

热门文章

  1. Linux磁盘配额教程,在Linux上创建磁盘配额
  2. mysql考试ocm_OCM考试中Dataguar的配置
  3. js arguments参数使用和详解
  4. C语言 数组指针初始化
  5. 解决谷歌浏览器(chrome)input标签自动填充数据的问题,亲测有效
  6. Spring扩展之BeanPostProcessor
  7. 原生JavaScript实现jQuery中的slideUp和slideDown滑动效果
  8. 计算机试题 刷新率是,2014年计算机等级考试三级PC技术模拟试题
  9. c语言对cad开发,CAD二次开发之环境配置
  10. Segmented Control 教程