Windows phone 8.1 CameraPreviewImageSource空预览框

Windows phone 8.1 CameraPreviewImageSource空预览框,windows-phone-8.1,win-universal-app,lumia-imaging-sdk,nokia-imaging-sdk,Windows Phone 8.1,Win Universal App,Lumia Imaging Sdk,Nokia Imaging Sdk,我剪切并粘贴了下面关于如何使用CameraPreviewImageSource和access预览缓冲区帧的代码,但不起作用,似乎帧缓冲区大小为0x0,读取OnPreviewFrameAvailable事件的IImageSize参数值 已选择Package.appxmanifest上的功能(网络摄像头和麦克风) 在Silverlight应用程序上实现CameraPreviewImageSource效果非常好 恐怕您在Lumia Imaging SDK 2.0.184中看到了一个bug。该问题仅出

我剪切并粘贴了下面关于如何使用CameraPreviewImageSource和access预览缓冲区帧的代码,但不起作用,似乎帧缓冲区大小为0x0,读取OnPreviewFrameAvailable事件的IImageSize参数值

已选择Package.appxmanifest上的功能(网络摄像头和麦克风)

在Silverlight应用程序上实现CameraPreviewImageSource效果非常好

恐怕您在Lumia Imaging SDK 2.0.184中看到了一个bug。该问题仅出现在某些相机型号上,并且仅出现在8.1/universal应用程序上。Silverlight应用程序不受此问题的影响

该漏洞已在新发布的版本中修复。从发行说明:

修复了CameraPreviewImageSource在与某些相机型号一起使用时引发ArgumentOutOfRangeException的问题


您到底看到了什么错误?您好,错误如下:操作试图访问有效范围之外的数据(HRESULT:0x800000B的异常)ww:0 hh:0线程0xdb4已退出,代码为0(0x0)。在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()在AugmentedReality.MainPage.d_19.MoveNext()这似乎是因为帧的大小为0 x 0或为空。您正在使用什么设备?我以前见过类似的东西,但它是特定于设备的…您好,这是一款Lumia 930,但同样非常奇怪,因为同一台设备的Win RT代码没有使用Silverlight。您好,是的,更新SDK解决了问题,谢谢!
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {            
        InitializeAsync();
    }

    public async void InitializeAsync()
    {            
        _cameraPreviewImageSource = new CameraPreviewImageSource();  
        await _cameraPreviewImageSource.InitializeAsync(string.Empty);
        var properties = await _cameraPreviewImageSource.StartPreviewAsync();

        var width = 640.0;
        var height = 480;
        _writeableBitmap = new WriteableBitmap((int)width, (int)height);

        _writeableBitmapRenderer = new WriteableBitmapRenderer(_cameraPreviewImageSource, _writeableBitmap);

        Initialized = true;

        _cameraPreviewImageSource.PreviewFrameAvailable += OnPreviewFrameAvailable;
    }

    private async void OnPreviewFrameAvailable(IImageSize args)
    {
        System.Diagnostics.Debug.WriteLine("ww:"+args.Size.Width+" hh:"+args.Size.Height);

        // Prevent multiple rendering attempts at once
        if (Initialized && !_isRendering)
        {
            _isRendering = true;    
            try
            {                    
                await _writeableBitmapRenderer.RenderAsync();                   
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("\n\n"+ex.Message);
                System.Diagnostics.Debug.WriteLine(ex.StackTrace);
            }
            _isRendering = false;
        }
    }