我有這樣一段代碼:獲取快照產生總是相同的值
byte[] snap = ((VideoControl) player).getSnapshot("encoding=jpeg");
,其從照相機得到的快照。現在,經過一些處理後,它會產生正確的圖像。奇怪的是,當我調試這行代碼時,即使結果圖像不同,它在字段中的值也始終相同。任何想法爲什麼?
問候修剪
我有這樣一段代碼:獲取快照產生總是相同的值
byte[] snap = ((VideoControl) player).getSnapshot("encoding=jpeg");
,其從照相機得到的快照。現在,經過一些處理後,它會產生正確的圖像。奇怪的是,當我調試這行代碼時,即使結果圖像不同,它在字段中的值也始終相同。任何想法爲什麼?
問候修剪
經過大量的搜索後,我發現我錯了,我很抱歉誤導的問題。但是,使用encoding = jpeg時,這些數組真的只有一小部分不同,但是使用其他編碼他們確實存在很大差異。再一次,當我沒有先確認這個問題時,我很抱歉這個問題。
確保您查看的數據是數組,而不是數組的內存地址(這並不一定需要改變)內。
我希望這有助於
好運
確定getSnapshot()返回一個VideoControl對?仔細檢查一下。
我錯過了帖子中的括號。 VideoControl實例返回字節數組(http://java.sun.com/javame/reference/apis/jsr135/javax/microedition/media/control/VideoControl.html#getSnapshot(java.lang.String)) – Trimack
也許需要一些清晰度......什麼'領域'具有'相同的價值'?
聽起來就像是將字節數組轉換成圖像。然後,當你再次調用getSnapshot時,你會得到相同的字節數組,但不同的圖像?
也許試試getSnapshot(null)。
喜歡的東西:
byte[] data = null;
try {
data = video.getSnapshot(null);
} catch (MediaException ex) {
ex.printStackTrace();
}
if(data != null)
{
img = Image.createImage(data, 0, data.length);
}
你怎麼樣 '調試'?仿真器?設備上的?什麼設備?
上述代碼適用於K800i。
很好的答案!不會想到那個。儘管爲什麼有人會在看像字節數組的內存地址,比如說我會跳動。 – funkybro
有趣的想法,但不是這種情況。謝謝。 – Trimack