获取快照始终产生相同的值

时间:2010-02-15 22:39:24

标签: java java-me snapshot

我有这段代码:

byte[] snap = ((VideoControl) player).getSnapshot("encoding=jpeg");

,从相机获取快照。现在,经过一点处理后,它可以产生正确的图像。奇怪的是,当我调试这行代码时,即使结果图像不同,它在字段中也始终具有相同的值。有什么想法吗?

关心修剪

4 个答案:

答案 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,这些数组实际上只在很小的部分有所不同,但是对于另一种编码,它们确实有很大不同。再次,对不起这个问题,当我没有先解决困难时。