gpt4 book ai didi

java 。在内部回调中获取同步数据

转载 作者:行者123 更新时间:2023-12-02 05:33:51 25 4
gpt4 key购买 nike

我想要 android 相机返回的字节数组。正如我期望同步获取它一样,我正在执行下面的代码等待回调完成...但是来自 c++ 我想有些东西我没有得到正确的结果。在我的函数中,我想返回回调中提供的字节数组。我尝试了几种组合,直到这个组合仍然存在问题。在下面的同一个 jpegCallback.jpgData 中给出“找不到符号(字段 jpgData)”。 (我在 Qt 上这样做,但我认为这个问题与 java(和我)严格相关)。感谢您的任何见解。

public static byte[] CameraTakePicture(){

final CountDownLatch jpgWaiter = new CountDownLatch(1);

Camera.PictureCallback jpgCallback=new Camera.PictureCallback(){

public byte[] jpgData;

@Override
public void onPictureTaken(byte[] data,Camera cam){

jpgData=data;
jpgWaiter.countDown();
}
};

camera.takePicture(null,null,null,jpgCallback);
jpgWaiter.await();
byte[] jpgData=jpgCallback.jpgData.clone();
return jpgData;
}

最佳答案

从 Java 角度来看,您的 jpgCallback 类型为 Camera.PictureCallback,并且运行时不知道公共(public) jpgData 的存在> Camera.PictureCallback 类型的对象中的字段。

您必须子类化 Camera.PictureCallback 才能访问您的公共(public)字段。

关于 java 。在内部回调中获取同步数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com