ฉันมีคำถามสำหรับการพัฒนาเป็นงาน...
ฉันกำลังพัฒนาเป็นงานที่ได้รับภาพ datas จาก 2 ลายหุ่นยนต์พวกนั้น(ท่อนอ็อ 4 ขั้นสูงบันดาลใจ 2)ในเวลาจริงและ merges พวกเขา
สำหรับการทดสอบฉันพยายามที่จะได้รับรูปแต่มันใช้เวลานานมากที่ได้ต้อนรับ..
นี่คือรหัสของฉัน...
camera.setShootPhotoMode(photoMode, new CommonCallbacks.CompletionCallback() {
@Override
public void onResult(DJIError djiError) {
if (null == djiError) {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
camera.startShootPhoto(new CommonCallbacks.CompletionCallback() {
@Override
public void onResult(DJIError djiError) {
if (djiError == null) {
showToast("take photo: success");
//start 시간 찍고
Log.d("Start Time: ", Long.toString(System.currentTimeMillis()));
} else {
showToast(djiError.getDescription());
}
}
});
}
}, 2000);
}
}
});
//카메라 데이터 핸드폰에 저장
camera.setMediaFileCallback(new MediaFile.Callback() {
@Override
public void onNewFile(@NonNull MediaFile mediaFile) {
mediaFile.fetchFileData(file, "imageData", new DownloadListener<String>() {
@Override
public void onStart() {
showToast("Start downloading.");
}
@Override
public void onRateUpdate(long l, long l1, long l2) {
}
@Override
public void onRealtimeDataUpdate(byte[] bytes, long l, boolean b) {
}
@Override
public void onProgress(long l, long l1) {
}
@Override
public void onSuccess(String s) {
showToast("Download Succeed.");
//end time
Log.d("End Time: ", Long.toString(System.currentTimeMillis()));
}
@Override
public void onFailure(DJIError djiError) {
if(djiError != null){
showToast("Failed..");
//end time
Log.d("End Time: ", Long.toString(System.currentTimeMillis()));
}
}
});
showToast("Image is successfully Saved");
Log.d("Camera Image Transfer: ", "Succeed!");
}
});
ฉันใช้ shootphotomode และ setmediafilecallback จะส่งมันต้องโทรศัพท์ของฉัน..
มันมีทางอื่นต้องได้รับข้อมูลในเวลาจริง?
ฉันก็ขอบคุณที่เธอใช้เวลาสักสองของเวลาต้องอ่านปัญหาของฉั..ขอบคุณมากครับ!