Windows phone 7 WP7上的CameraCaptureTask

Windows phone 7 WP7上的CameraCaptureTask,windows-phone-7,Windows Phone 7,我想在WP7上使用CameraCaptureTask,以便从手机中获取图像并对其进行操作。 我的代码是: CameraCaptureTask cameraCaptureTask; public MainPage() { InitializeComponent(); try { cameraCaptureTask = new CameraCaptureTask(); camer

我想在WP7上使用CameraCaptureTask,以便从手机中获取图像并对其进行操作。 我的代码是:

    CameraCaptureTask cameraCaptureTask;
    public MainPage()
    {
        InitializeComponent();

        try
        {
            cameraCaptureTask = new CameraCaptureTask();
            cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);

        }
        catch (System.InvalidOperationException ex)
        {
            MessageBox.Show(ex.Message);
        }

    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {

        try
        {
            cameraCaptureTask.Show();

        }
        catch (System.InvalidOperationException ex)
        {
            MessageBox.Show(ex.Message);
        }

    }

    void cameraCaptureTask_Completed(object sender, PhotoResult e)
    {
        MessageBox.Show("event: " + e.TaskResult.ToString());
        if (e.TaskResult == TaskResult.OK)
        {                
            BitmapImage bmp = new BitmapImage();
            bmp.SetSource(e.ChosenPhoto);
            image1.Source = bmp;
        }
    }

}
CameraCaptureTask CameraCaptureTask;
公共主页()
{
初始化组件();
尝试
{
cameraCaptureTask=新建cameraCaptureTask();
cameraCaptureTask.Completed+=新事件处理程序(cameraCaptureTask_Completed);
}
捕获(System.InvalidOperationException ex)
{
MessageBox.Show(例如Message);
}
}
私有无效按钮1\u单击(对象发送者,路由目标)
{
尝试
{
cameraCaptureTask.Show();
}
捕获(System.InvalidOperationException ex)
{
MessageBox.Show(例如Message);
}
}
无效cameraCaptureTask_已完成(对象发送方,照片结果e)
{
Show(“事件:+e.TaskResult.ToString());
if(e.TaskResult==TaskResult.OK)
{                
BitmapImage bmp=新的BitmapImage();
bmp.SetSource(e.ChosenPhoto);
image1.Source=bmp;
}
}
}
问题是,每次单击按钮1时,都会引发事件,但值为TaskResult。取消“确定”的安装。此外,在手机中,摄像头没有显示


有什么想法吗?谢谢

您是否正在运行附带的调试器?如果是这样,当您使用Zune软件连接到设备时,相机将无法工作

如果使用该工具进行连接,则该工具应能正常工作。

尝试此方法

void ctask_Completed(object sender, PhotoResult e)
{

    if (e.TaskResult == TaskResult.OK && e.ChosenPhoto != null)
    {

        //Take JPEG stream and decode into a WriteableBitmap object
        App.CapturedImage = PictureDecoder.DecodeJpeg(e.ChosenPhoto);


        //Collapse visibility on the progress bar once writeable bitmap is visible.
        progressBar1.Visibility = Visibility.Collapsed;


        //Populate image control with WriteableBitmap object.
        ImageMain.Source = App.CapturedImage;
    }

}
你可以试试这个

private void button1_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            cameraCaptureTask = new CameraCaptureTask();
            cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
            cameraCaptureTask.Show();
        }
        catch (System.InvalidOperationException ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
   void cameraCaptureTask_Completed(object sender, PhotoResult e)
    {
        MessageBox.Show("event: " + e.TaskResult.ToString());
        if (e.TaskResult == TaskResult.OK)
        {                
            BitmapImage bmp = new BitmapImage();
            bmp.SetSource(e.ChosenPhoto);
            image1.Source = bmp;
        }
    }
private void按钮1\u单击(对象发送者,路由目标)
{
尝试
{
cameraCaptureTask=新建cameraCaptureTask();
cameraCaptureTask.Completed+=新事件处理程序(cameraCaptureTask_Completed);
cameraCaptureTask.Show();
}
捕获(System.InvalidOperationException ex)
{
MessageBox.Show(例如Message);
}
}
无效cameraCaptureTask_已完成(对象发送方,照片结果e)
{
Show(“事件:+e.TaskResult.ToString());
if(e.TaskResult==TaskResult.OK)
{                
BitmapImage bmp=新的BitmapImage();
bmp.SetSource(e.ChosenPhoto);
image1.Source=bmp;
}
}

是的,问题是。我是使用Zune连接到设备的。这太酷了,不知道Microsoft为什么删除了文档。可能是重复的