0

我有这段代码:

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

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

问候修剪

4

4 回答 4

1

确保您查看的数据在数组内部,而不是数组的内存地址(不一定需要更改)。

我希望这有帮助,

祝你好运

于 2010-02-15T23:17:16.397 回答
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 上适用于我。

于 2010-02-19T15:08:39.840 回答
0

你确定 getSnapshot() 返回一个 VideoControl 吗?仔细检查。

于 2010-02-18T21:45:08.653 回答
0

经过广泛的搜索,我发现我错了,我为误导性问题道歉。但是,使用 encoding=jpeg 时,这些数组实际上只有一小部分不同,但使用另一种编码时,它们确实存在很大差异。再次,当我没有首先验证这个问题时,我很抱歉。

于 2010-02-19T15:11:18.663 回答