使用 python 和 SL4A 初始化 android 网络摄像头时 setParameters 失败

Posted

技术标签:

【中文标题】使用 python 和 SL4A 初始化 android 网络摄像头时 setParameters 失败【英文标题】:setParameters failed when initializing android webcam with python and SL4A 【发布时间】:2012-12-19 00:42:51 【问题描述】:

我在 android 4.0 平板电脑上使用 SL4A 平台,并尝试使用此处找到的 droid.webcamStart() 方法初始化网络摄像头流:http://code.google.com/p/android-scripting/wiki/ApiReference#webcamStart 我的问题是当我执行以下代码时出现 setParameters failed 错误。

python代码很简单:

 import android
 droid = android.Android()
 address = droid.webcamStart(100,80,0).result

如果一切按计划进行,这应该会初始化一个网络摄像头预览流,但我收到一条错误消息:

 java.lang.RuntimeException: setParameters failed

我看过其他一些与同一问题相关的帖子,但是开发人员使用 java 进行开发,而不是 python。我该怎么做才能在 python 中解决这个问题?

谢谢

【问题讨论】:

您的平板电脑上有哪些摄像头?看起来 SL4A 只支持默认的后置摄像头,所以如果你没有后置摄像头,它就会失败。 我在平板电脑上有一个前置和后置摄像头。我也将尝试使用 HTC Evo,看看我是否可以使用它...... 【参考方案1】:

这可能是因为您的设备不支持在 SL4A 的 WebcamFacade.java 的 openCamera 方法中设置的预览格式。

我已通过 ImageFormat.NV21 对其进行了更改,始终支持 Android 文档,它对我有用!

您可以从这里下载此更改:

https://code.google.com/r/olapaola-android-scripting/

【讨论】:

以上是关于使用 python 和 SL4A 初始化 android 网络摄像头时 setParameters 失败的主要内容,如果未能解决你的问题,请参考以下文章

从 Android 开始:Java 或 Python (SL4A)

使用没有 SL4A 的 Python android.py 模块

使用 sl4a 将事件从 python 发送到 javascript

使用 SL4A 从 python 脚本返回结果返回到 Android 应用程序

Android:从 Java 代码调用 Python 脚本(通过 SL4A)

sl4a python通知问题