我有这段代码:
byte[] snap = ((VideoControl) player).getSnapshot("encoding=jpeg");
,从相机获取快照。现在,经过一点处理后,它可以产生正确的图像。奇怪的是,当我调试这行代码时,即使结果图像不同,它在字段中也始终具有相同的值。有什么想法吗?
关心修剪
答案 0 :(得分:1)
确保您查看的数据位于数组内,而不是数组的内存地址(不一定需要更改)。
我希望这有帮助,
祝你好运
答案 1 :(得分:1)
也许需要一些清晰度......什么在“领域”中具有“相同的价值”?
听起来你拿这个字节数组并把它变成一个图像。那么当你再次调用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。
答案 2 :(得分:0)
你确定getSnapshot()会返回一个VideoControl吗?仔细检查一下。
答案 3 :(得分:0)
经过广泛搜索后,我发现自己错了,我为错误的问题道歉。然而,使用encoding = jpeg,这些数组实际上只在很小的部分有所不同,但是对于另一种编码,它们确实有很大不同。再次,对不起这个问题,当我没有先解决困难时。