我正在开发两个应用程序作为服务器和客户端。服务器应用程序重复拍照并通过 tcp 套接字将它们发送到客户端应用程序。在 onPictureTaken 函数中,我将字节数组编码为 base64 并将结果字符串写入输出流。但是,在拍摄了一些照片后,相机会出现“相机错误 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;
}
}