黑莓的相机编程

时间:2011-04-21 05:43:43

标签: blackberry

我的以下代码返回null,

byte[] image1 = _videoControl.getSnapshot(null);

请提出任何建议

2 个答案:

答案 0 :(得分:4)

关于VideoControl.getSnapshot方法的几个重要时刻:

  • 某些制造商可能未实施getSnapshot()方法;
  • 在调用getSnapShot();
  • 之前,取景器实际上必须在屏幕上可见
  • 但是,如果你试图拍摄太快,getSnapShot()可能会 返回null。相机需要时间来清除其缓冲区 准备下一次拍摄;
  • 您可以在捕获之前检查MMAPI系统属性“video.snapshot.encodings”:
if (System.getProperty("video.snapshot.encodings") == null) {
        // getSnapshot() is not supported
}

您可以从“高级BlackBerry开发”一书中阅读本章: http://books.google.com/books?id=F4Qu-lpoVncC&pg=PA53&lpg=PA53#v=onepage&q&f=false

答案 1 :(得分:0)

由于所有设备都不支持VideoControl.getSnapshot方法,我建议您使用其他方法。您可以使用以下代码行启动原生BB Camera应用程序:

Invoke.invokeApplication(Invoke.APP_TYPE_CAMERA, new CameraArguments());

然后使用FileSystemJournalListener捕获拍摄的图像。

PC上的BB SDK包含示例。搜索“fileexplorerdemo”示例以查看其余详细信息。

相关问题