java - 如何同时使用相机预览和手电筒?
问题描述
我面临一个例外“相机已在使用中”。我正在做的事情是我使用带有搜索栏的相机作为放大镜,现在我想用它添加闪光灯功能,但我面临这个例外。
我正在将此代码用于闪存。
private void torchToggle(String command) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
String cameraId = null; // Usually back camera is at 0 position.
try {
if (camManager != null) {
cameraId = camManager.getCameraIdList()[0];
}
if (camManager != null) {
if (command.equals("on")) {
camManager.setTorchMode(cameraId, true); // Turn ON
Toast.makeText(this, "Flash on", Toast.LENGTH_SHORT).show();
} else {
if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH) == true) {
camManager.setTorchMode(cameraId, false); // Turn OFF
Toast.makeText(this, "Flash off", Toast.LENGTH_SHORT).show();
}
}
}
} catch (CameraAccessException e) {
Toast.makeText(this, ""+e, Toast.LENGTH_SHORT).show();
}
}
else
{
Toast.makeText(this, "device version too low", Toast.LENGTH_SHORT).show();
}
}
catch (Exception e)
{
Toast.makeText(this, "Issue: "+ e, Toast.LENGTH_SHORT).show();
}
}
解决方案
推荐阅读
- java - 动态分配 Java 数组意味着什么?
- ruby-on-rails - 在 Ruby on Rails 中部分渲染反应组件
- reporting-services - 如何在来自另一个数据集的文本框中显示 SUM 值,而不是来自 tablix 数据集名称
- assembly - 时间戳在文件中的什么位置?想用汇编来改变它
- xslt - xsl中的大于和小于条件
- awk - 使用 awk 显示从第一列开始的行范围
- google-apps-script - Google App Script - 无法插入群组成员
- sql - 在变量中执行动态查询时出错
- swift - Inout vs 通过引用快速优化
- java - Recycler View 在滚动时没有使用提供的布尔值一致地更新视图