getParameters failed (empty parameters) 问题解决
最近改代码,删掉了原来录制视频做处理的逻辑,改用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) 问题解决相关推荐
- 解决OpenCV问题:OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale,
解决OpenCV问题:OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale, 目录 ...
- 【在虚拟环境下完美解决】1698: error: (-215:Assertion failed) empty() in function cv::CascadeClassifier
问题描述 官方文档做的Demo发现遇到了错误提示如下: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifi ...
- Exception in thread “main“ java.lang.IllegalStateException: Failed to read 问题解决
Exception in thread "main" java.lang.IllegalStateException: Failed to read 问题解决 参考文章: (1)E ...
- 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 ...
- Tomcat启动报A child container failed during start问题解决
Tomcat启动报A child container failed during start问题解决 排查方案,把.xml内无关的所有注释掉,启动程序,如果成功了,就一点点代码还原+重启,直至找到致命 ...
- sentry中的worker错误解决[ERROR] sentry.errors.events: preprocess.failed.empty
sentry错误解决 worker failing with [ERROR] sentry.errors.events: preprocess.failed.empty sentry 的worker ...
- doris 导入遇tablet writer write failed, err=-235问题解决
doris 遇tablet writer write failed, tablet_id=27306172, txn_id=28573520, err=-235问题解决 我们是通过sql的方式使用fl ...
- 关于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 问题 我的解决 ...
- 关于微信jssdk开发,出现:errmsg config param is empty的问题解决
微信提供了php的demo代码,遗憾的是其中wx.config中的jsApiList:为空,因此经常有人直接调试的时候就出现下面错误提示: errmsg config param is empty 解 ...
最新文章
- WCF第一个Demo
- isAssignableFrom和isInstance、instanceof
- 数据库中的行锁和表锁
- java jsoup解析html标签_jsoup解析html
- 【BZOJ】2982 combination
- 无源码动态调试APK
- 猎豹浏览器网页声音怎么关闭
- 如何在gitee上部署网页
- [CTO札记]研究:日本Rakuten(乐天)
- MySQL 定时任务event
- 毕业设计外文文献下载方法
- 医院管理数据库课程设计
- 语音识别技术:2018年主要参与者的完整指南
- ADS2017之S参数仿真
- VS2019连接SQL2008实现登录注册功能.
- JavaScript 编程规范(一)
- webstorm,phpstorm无法打开设置的问题
- JPEG图像压缩算法
- JavaScript 贪吃蛇游戏的实现
- 为面试做准备,整理一些计算机专业的基础知识