使用videobrush在Windows Phone 8.0中使用相机时遇到问题

时间:2015-06-04 11:33:24

标签: c# windows-phone-8 camera dispose

我的应用程序出现了错误,无法解决。

Bug是 - 我不能使用相机超过三次。

代码,证明它在这里:

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using PhoneApp1.Resources;
using System.Windows.Media;
using Microsoft.Devices;

namespace PhoneApp1
{
    public partial class MainPage : PhoneApplicationPage
    {

        PhotoCamera aCamera = new PhotoCamera(CameraType.Primary);
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var cam = new camera_VM();

        }
    }


    class camera_VM
    {
        public camera_VM()
        {
            VideoBrush __cameraView = new VideoBrush();
            PhotoCamera aCamera = new PhotoCamera(CameraType.Primary);
            __cameraView.SetSource(aCamera);            
        }
    }
}

第三次启动时 - 它会抛出错误:

   {System.NotSupportedException: Specified method is not supported.
   at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
   at MS.Internal.XcpImports.VideoBrush_SetExternalVideoPortSource(VideoBrush vb, String sPortName)
   at Microsoft.Devices.Camera

不知道 - 这是什么意思。

我猜在代码中有 Videobrush - 不好主意,但我有另一种选择吗?我在DataTemplate中得到了Grid,它绑定到VideoBrush对象。

如果我必须妥善处理相机单元 - 任何人都可以告诉我,该怎么做?

P.S。代码只是示例,会触发错误。

0 个答案:

没有答案