android - 使用kivy/python访问android手电筒(相机LED闪光灯)

标签 android python android-camera kivy

我不知道如何使用 python 或 kivy 访问 android 上的 led 灯,我尝试安装 python-for-android 以便能够将 android 模块导入到我的代码中,但模块不能'找不到。我按照此处的说明克隆了 python-for-android。我没有按照该页面安装 ndk 或 sdk,因为我认为因为 kivy 已经使用了它们,所以它们已经安装了。有人可以指出我正确的方向吗?

最佳答案

是的,您可以从桌面上用 Kivy 编写此应用程序,只是无法在桌面上测试它。您每次都必须构建并部署到 Android 设备进行测试。

改编自How to turn on camera flash light programmatically in Android? :

检查闪存功能是否可用:

PythonActivity = autoclass('org.renpy.android.PythonActivity')
PackageManager = autoclass('android.content.pm.PackageManager')
pm = PythonActivity.mActivity.getPackageManager()
flash_available = pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)

要使用手电筒,您的应用需要手电筒和相机权限。您可以将它们添加到 buildozer.spec 或 python-for-android 命令行中。

最后,打开闪光灯:

Camera = autoclass('android.hardware.Camera')
CameraParameters = autoclass('android.hardware.Camera$Parameters')
cam = Camera.open()
params = cam.getParameters()
params.setFlashMode(CameraParameters.FLASH_MODE_TORCH)
cam.setParameters(params)
cam.startPreview()

然后关闭:

cam.stopPreview()
cam.release()

关于android - 使用kivy/python访问android手电筒(相机LED闪光灯),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111643/

相关文章:

java - android访问扩展customListAdapter的成员变量

python - 如何使用rpy2的bioconductor?

python - 如何处理 Pandas 中的SettingWithCopyWarning

android - camera2 api 将 yuv420 转换为 rgb 绿色输出

android - 拍照并将完整图像上传到 Parse.com?

java - 我的 Android 应用程序 "stops unexpectedly"

android - 从 Sqlite 中检索数据并存储到 CSV 文件中

android - 在 NestedScrollV 中禁用 RecyclerView 的触摸事件

python - 将分类值的行放入 pandas 的列中

android - 拍照时启用快门音