我是Glass GDK开发的新手,我在扫描条形码时遇到了问题。我已按照此(http://blog.wombatsoftware.de/2014/01/running-zxing-qr-code-engine-on-google.html)帖子,但我的条形码扫描仪仍然无法正常工作。它看起来像一张照片。 我也看了BarcodeEye project,但我不明白如何将它与我的项目集成。你能帮我吗?
CameraConfiguration
public void googleGlassInit(Camera camera) {
Camera.Parameters params = camera.getParameters();
params.setPreviewFpsRange(30000, 30000);
params.setPreviewSize(640,360);
camera.setParameters(params);
}
void setTorch(Camera camera, boolean newSetting) {
Camera.Parameters parameters = camera.getParameters();
doSetTorch(parameters, newSetting, false);
camera.setParameters(parameters);
googleGlassInit(camera); // added this line
// googleGlassXE10WorkAround(camera);
}
...
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.setPackage("com.google.zxing.client.android");
intent.putExtra("SCAN_MODE","QR_CODE_MODE");
startActivityForResult(intent,0);
}
//when a QR code is read, it will send a result code
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == 0 && resultCode == RESULT_OK){
String contents = data.getStringExtra("SCAN_RESULT");
Card card1 = new Card(this);
card1.setText(contents);
card1.setFootnote("zxing");
View card1View = card1.getView();
setContentView(card1View);
// setDisplayCard(card1);
}
super.onActivityResult(requestCode, resultCode, data);
}
答案 0 :(得分:0)
这在XE16.2中变得更好,但仍然适用于高分辨率。
您可以从条形码扫描仪应用程序的这个端口中的相机配置中获取一些灵感,从原始项目到Glass,它可以工作:
1280 x 720,10fps似乎很好。
答案 1 :(得分:0)
在CameraConfiguraionManager
中,您还需要在googleGlassInit(camera)
中添加setDesiredCameraParameters
。
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
camera.setParameters(parameters);
googleGlassInit(camera); // added this line
Camera.Parameters afterParameters = camera.getParameters();
Camera.Size afterSize = afterParameters.getPreviewSize();
我希望这对你有所帮助!这对我有用:)
PD:我也使用640x360,这应该不是问题。