【发布时间】:2018-03-06 19:25:39
【问题描述】:
我正在尝试将一个非常简单的 OpenCV 应用程序迁移到 android。该代码尝试从与使用 C# 和 Xamarin 的主应用程序链接的 C++ .so 库访问相机,我怀疑这与我的问题有关。我的 C++ 代码只是尝试使用 cv::VideoCapture 访问摄像头,如下所示:
cv::VideoCapture cap(0); //default camera
if(!cap.isOpened())
{
LOGE("No camera detected on this system\n");
}
尽管我像这样在 AndroidManifest.xml 中指定了权限,但这总是失败:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.XamarinARapp">
<uses-sdk android:minSdkVersion="15" />
<application android:label="XamarinARapp.Android">
</application>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>
</manifest>
有没有人在 C++ 中使用 cv::VideoCapture 成功访问了安卓相机? Xamarin 跟它有关系吗?
【问题讨论】:
-
您在哪个 Android API 版本上进行测试?即,您是否在代码中为 API 级别 23+ 设备请求了运行时摄像头权限?
-
我正在 android 8.0 Nexus 5X 上进行测试,但该应用正在为 android 4.4 构建
-
我看到了一分钟。清单中列出的目标 API.... 目标呢?
标签: android c++ opencv xamarin xamarin.android