2011-10-12 62 views
4

我已經嘗試使用MediaComponent,但由於它現在已被棄用,它不會很好前進。此外,我無法將它重新調整到全屏顯示。我試圖使用VideoComponent來捕獲S40設備中的屏幕截圖。我找不到如何正確實例化VideoComponent來捕獲圖像而不是播放視頻。如何使用LWUIt捕獲圖像VIdeoComponent

+0

我結束了使用MediaComponent但javadocs說它不會在下一個版本中受支持。 – Ajibola

+0

你有沒有試過我的答案? – frayab

+0

@frayab我沒有嘗試你的答案,我已經與媒體組件解決,因爲它解決了我的問題,你到那時還沒有回答。我最終擱置了該功能,稍後將在添加功能時嘗試使用該功能。 – Ajibola

回答

3

您可以使用VideoComponent捕獲圖像。

首先,實例化VideoComponent,你需要創建一個本地同行:

VideoComponent videoComponent = VideoComponent.createVideoPeer("capture://video"); 
Player player = (Player) videoComponent.getNativePeer(); 
player.realize(); 
VideoControl videoControl = (VideoControl) player.getControl("VideoControl"); 

來捕捉圖像,你必須啓動視頻組件,並使用視頻控制的getSnapshot:

videoComponent.start(); 
videoControl.getSnapshot(null); 

如果要將視頻組件調整爲全屏,您可以使用:

videoComponent.setFullScreen(false); 

其他可能性是:

videoComponent.setPreferredH(Display.getInstance().getDisplayHeight()); 
videoComponent.setPreferredW(Display.getInstance().getDisplayWidth()); 
+0

我最終也使用了這個,但與原生相機相比,圖像的質量很差。我嘗試在調用getSnapshot時添加大小,但遇到各種錯誤。任何幫助? – Ajibola

1

現在VideoComponent主要是爲回放而設計的,並不適用於捕獲。我們將盡力在不久的將來改進它,使其更加靈活。它相對容易從MediaComponent遷移到VideoComponent,所以它不應該是一個問題。

相關問題