2011-04-21 124 views
2

我下面的代碼返回null,攝像頭編程

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

任何建議,請有關VideoControl.getSnapshot方法

回答

4

幾個重要時刻:

  • 一些製造商可能無法實現getSnapshot( ) 方法;
  • 取景器在調用getSnapShot()之前必須在屏幕上可見。
  • 如果您嘗試快速拍照,但是,getSnapShot()可能會返回null。相機需要時間清除緩衝區並準備下一張照片;
  • 你可以捕捉前檢查MMAPI系統屬性爲 「video.snapshot.encodings」:
if (System.getProperty("video.snapshot.encodings") == null) { 
     // getSnapshot() is not supported 
} 

您可以閱讀的書 「高級黑莓發展」 這一章: http://books.google.com/books?id=F4Qu-lpoVncC&pg=PA53&lpg=PA53#v=onepage&q&f=false

+1

+1這是一個非常好的答案。 – 2011-04-21 07:43:36

+0

這真的很有用......感謝鏈接中的針點回答,即在所有情況下,在調用getSnapShot()之前,取景器必須實際在屏幕上可見,只需使您的字段可以聚焦,並且將獲得一個字節[] 作爲回報。 Gr8回答... – Panache 2012-03-07 13:33:03

0

由於VideoControl.getSnapshot方法不被我推薦使用另一種方法的所有設備支持。使用FileSystemJournalListener捕捉拍攝的圖像

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

,然後:您可以使用此行代碼開始原生BB相機應用程序。

PC上的BB SDK包含示例。搜索'fileexplorerdemo'示例以查看其餘細節。