使用Zxing库解码条形码在1个平板电脑上工作,但在另一个平板电脑上不起作用

Nit*_*esh 9 c# xaml zxing windows-store-apps

我在XAML&C#中编写了一个Windows应用商店应用程序,用于从平板电脑的网络摄像头读取图像,并使用Zxing的图书解码条形码.该代码在具有i5处理器的给定平板电脑上运行良好,但无法在具有200万像素摄像头和"Intel Baytrail Quad-Core"处理器的实际平板电脑上运行.

为什么会发生这种情况的任何想法?

如果您需要查看我将分享此问题广告的代码,请与我们联系.

我想知道如何在1台平板电脑上运行相同的代码而在另一台平板电脑上运行时失败.

提前感谢您提供的任何帮助.

编辑

用于扫描条形码的代码,如下所示 - 最后一个if/else块是我得到的.没有例外:(

string barcodeData = string.Empty;
            using (var imageStream = new InMemoryRandomAccessStream())
            {
                processingImage = true;
                var encodingProperties = new ImageEncodingProperties();
                encodingProperties.Subtype = "Jpeg";
                encodingProperties.Width = 400;
                encodingProperties.Height = 400;

                await captureMgr.CapturePhotoToStreamAsync(encodingProperties, imageStream);
                await imageStream.FlushAsync();
                imageStream.Seek(0);

                var bitmap = new WriteableBitmap(400, 400);
                bitmap.SetSource(imageStream);
                preview1.Source = bitmap; //preview1 is an Image control to display the captured image

                BitmapImage bitmapImage = new BitmapImage();
                bitmapImage.SetSource(imageStream);

                imageStream.Seek(0);

                var bitmapDecoder = await BitmapDecoder.CreateAsync(BitmapDecoder.JpegDecoderId, imageStream);

                var data = await bitmapDecoder.GetPixelDataAsync(
                    BitmapPixelFormat.Bgra8,
                    BitmapAlphaMode.Straight,
                    new BitmapTransform(),
                    ExifOrientationMode.IgnoreExifOrientation,
                    ColorManagementMode.DoNotColorManage
                    );
                if (data != null)
                {
                    BarcodeReader barcodeReader = new BarcodeReader();

                    var result = barcodeReader.Decode(
                        data.DetachPixelData(),
                        (int)bitmapDecoder.PixelWidth,
                        (int)bitmapDecoder.PixelHeight,
                        ZXing.RGBLuminanceSource.BitmapFormat.BGR32
                        );
                    if (result != null)
                    {
                        //Barcode found
                    }
                    else
                       //No data found.
                }
            }
Run Code Online (Sandbox Code Playgroud)

rod*_*ogq 5

我猜你正在使用ZXing.NET库.你有没有考虑过转移到另一个条码扫描器库?

访问ZXing.NET Library中的"问题"部分,您会发现Windows Phone仍然存在许多错误(也应该是Window Store).

http://zxingnet.codeplex.com/workitem/list/basic

其中一个叫我注意.看看这个评论:

虽然WP样本都是针对Silverlight的,但你不要忘记新的WP8.1基础是WinRT - 所以我建议你使用WinRT样本作为基础.

我试图做同样的事情,但事实是,ZXing缺少很多用于WinRT Universal Apps的ATM - 它很慢,不可靠,几乎没有认识到任何事情.

http://zxingnet.codeplex.com/workitem/13311

我不知道这有多可靠,但最后一次项目更新是在4月7日!!!!

你应该真正考虑改变你的资料库!