【问题标题】:CameraPreviewImageSource empty preview frameCameraPreviewImageSource 空预览帧
【发布时间】:2015-03-06 15:02:47
【问题描述】:

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

How to get preview buffer of MediaCapture - Universal app

    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;
        }
    }

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

在 Silverlight 应用上实现 CameraPreviewImageSource 效果很好!

【问题讨论】:

  • 你到底看到了什么错误?
  • 您好,错误如下:该操作试图访问有效范围之外的数据(HRESULT 异常:0x8000000B)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 解决了问题,谢谢!

标签: windows-phone-8.1 win-universal-app lumia-imaging-sdk nokia-imaging-sdk


【解决方案1】:

恐怕您(曾经)在 Lumia Imaging SDK 2.0.184 中看到了一个错误。该问题仅出现在某些相机型号上,并且仅出现在 8.1/通用应用程序上。 Silverlight 应用程序未受此问题影响。

该错误已在新发布的Lumia Imaging SDK 2.0.208 中得到修复。来自发行说明:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 2012-10-19
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多