代码之家  ›  专栏  ›  技术社区  ›  Trimack

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

  •  0
  • Trimack  · 技术社区  · 15 年前

    我有这段代码:

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

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

    视饰

    4 回复  |  直到 15 年前
        1
  •  1
  •   Drewen    15 年前

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

    希望这有帮助,

    祝你好运

        2
  •  1
  •   Wex    15 年前

    也许需要澄清一下……什么“字段”中的“相同值”是什么?

    听起来像是你把字节数组变成了一个图像。然后当您再次调用getsnapshot时,您会得到相同的字节数组,但图像不同?

    可能尝试getsnapshot(空)。

    类似:

            byte[] data = null;
    
            try {
                data = video.getSnapshot(null);
            } catch (MediaException ex) {
                ex.printStackTrace();
            }
    
            if(data != null)
            {
                img = Image.createImage(data, 0, data.length);
            }
    

    你是如何“调试”的?仿真器?在设备上?什么设备?

    以上代码适用于K800i。

        3
  •  0
  •   JavaRocky    15 年前

    您确定GetSnapshot()返回一个VideoControl吗?再检查一下。

        4
  •  0
  •   Trimack    15 年前

    经过广泛的调查,我发现我错了,我为这个误导性的问题道歉。然而,对于encoding=jpeg,这些数组实际上只有一小部分不同,但是对于另一种编码,它们确实有很大的不同。再次,当我没有先验证这个问题时,我为这个问题感到抱歉。

    推荐文章