[英]“Camera Error 1004” Error while taking pictures with Android Camera
我正在开发服务器和客户端两个应用程序。 服务器应用程序反复拍照,然后通过tcp套接字将其发送到客户端应用程序。 在onPictureTaken函数中,我在base64中对字节数组进行编码,然后将结果字符串写入输出流。 但是,拍摄完一些照片后,相机会显示错误“ Camera Error 1004”。
起初,我以为是内存泄漏了。 但是现在,我通过部分编码来解决它。 相机仍然会在一段时间后给出该错误。 这个错误是什么意思?
这是该函数的代码:
public void onPictureTaken(byte[] data, Camera camera) {
Log.e(TAG, "Taking picture of " + data.length + " bytes.");
String imageXML = "<image>" + encodeTobase64(data) + "</image>";
BufferedWriter bufferedWriter;
try {
bufferedWriter = new BufferedWriter(new OutputStreamWriter(out));
bufferedWriter.write(Utils.packServerMessage(imageXML));
bufferedWriter.flush();
Log.e(TAG, "Picture is sent.");
isReady = true;
} catch (IOException e) {
Log.e(TAG, "Picture cannot be sent.");
isError = true;
}
}
该函数属于在不同线程中运行的类。
Java具有方法(不是函数),并且类不能在线程上运行(方法可以)。
如果是这样的onPictureTaken()
你的Camera.PictureCallback
,被称为主应用程序线程上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.