如何使用 QRCode 阅读器从 cocos2d-x 应用程序.



我想在我的应用程序中使用QRCodeReader的功能。
我的应用程序是用 cocos2d-x 开发的。
我想我必须使用本机代码(Android/iOS)。
有一些方法可以在iOS中使用QRCodeReader。(ZXing,ZBar和iOS中的QR功能(http://www.renaudpradenc.com/?p=453))

但是我的代码无论如何都不能很好地工作。有人知道该怎么做吗?

它可能与这个问题无关,以下代码可以在iOS中调用相机。

void NativeLauncher::ShowCameraView(){
    AppController  *appController = (AppController *)[UIApplication sharedApplication].delegate;
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;
    [appController.viewController presentModalViewController:imagePicker animated:YES];
} 

这是目标 C 中的一个很棒的教程:

如何使用AVFoundation框架扫描QR码

这是 Swift 中的一个:

二维码快速教程

抱歉回答晚了。

您可能会考虑 2 种策略,因为没有原生 cocos2d-x 对 QRCode 解码的支持。

1)开发Objective-C -> C++包装器

在 objc 端实现 AVFoundationFramework 方法,并为你将使用的图像解码帮助程序在 cocos2d-x 项目中的 C++ 包装类上调用这些方法(查看 Carlo 的 Google 游戏服务作为起点:https://github.com/cpinan)。

2) 使用任何 QRCode C++库

c++ 中有许多 QRCode 解码器,但您需要确保库针对您需要的架构。(例如 https://github.com/zxing/zxing)

希望对您有所帮助。干杯!

如果您的应用程序适用于 iOS 7 以上版本,您可以使用 AVCaptureMetadataOutputObjectsDelegate 在您的应用程序中实现 QRCode 扫描。如果您不知道如何实现AVCaptureMetadataOutputObjectsDelegate这里有一个简单的实现。

https://github.com/dilumnavanjana/MetaQR

将 MetaQR.h 和 .m 文件添加到您的项目中并添加此代码,

MetaQR *metaQR = [[MetaQR alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
metaQR.delegate = self;
[self.view addSubview:metaQR];

此委托方法将为您提供QRCode的数据

-(void)capturedMetaOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection

对于 7.0 或以上的部署目标,您可以使用 AVFoundationFramework 读取二维码。

这是执行此操作的教程: http://www.ama-dev.com/iphone-qr-code-library-ios-7/

这个问题也在这里得到解答: iOS应用程序中的QR码扫描

最新更新