与众不同 windows phone (5) - Chooser(选择器)

原文:与众不同 windows phone (5) - Chooser(选择器)

[索引页]
[源码下载]

与众不同 windows phone (5) - Chooser(选择器)

作者:webabcd

介绍
与众不同 windows phone 7.5 (sdk 7.1) 之选择器

  • AddressChooserTask - 选择联系人的地址
  • EmailAddressChooserTask - 选择联系人的email
  • PhoneNumberChooserTask - 选择联系人的电话
  • SaveContactTask - 保存联系方式
  • SaveEmailAddressTask - 保存电子邮件地址
  • SavePhoneNumberTask - 保存电话号码
  • SaveRingtoneTask - 保存铃声
  • PhotoChooserTask - 从图库里选择照片
  • CameraCaptureTask - 相机拍照
  • GameInviteTask - 游戏邀请(邀请其他人加入我的游戏会话)

示例
1、AddressChooserTask 的 Demo
AddressChooserTask.xaml.cs

/*
 * AddressChooserTask - 选择联系人的地址
 *     Completed - 选中地址之后所执行的事件
 *     Show() - 显示联系人列表
 *
 * TaskResult - 用户选择后的结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 *
 * AddressResult - Completed 事件的事件参数
 *     DisplayName - 联系人名称
 *     Address - 联系人的地址
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class AddressChooserTaskDemo : PhoneApplicationPage
    {
        private AddressChooserTask _addressChooserTask;

        public AddressChooserTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _addressChooserTask = new AddressChooserTask();
            _addressChooserTask.Completed += new EventHandler<AddressResult>(_addressChooserTask_Completed);

            try
            {
                _addressChooserTask.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        void _addressChooserTask_Completed(object sender, AddressResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                MessageBox.Show("“" + e.DisplayName + "”的地址是:" + e.Address);
            }
        }
    }
}

 

2、EmailAddressChooserTask 的 Demo
EmailAddressChooserTask.xaml.cs

/*
 * EmailAddressChooserTask - 选择联系人的email
 *     Completed - 选中email之后所执行的事件
 *     Show() - 显示联系人列表
 *
 * TaskResult - 用户选择后的结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 *
 * EmailResult - Completed 事件的事件参数
 *     DisplayName - 联系人名称
 *     Email - 联系人的email
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class EmailAddressChooserTaskDemo : PhoneApplicationPage
    {
        private EmailAddressChooserTask _emailAddressChooserTask;

        public EmailAddressChooserTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _emailAddressChooserTask = new EmailAddressChooserTask();
            _emailAddressChooserTask.Completed += new EventHandler<EmailResult>(_emailAddressChooserTask_Completed);

            try
            {
                _emailAddressChooserTask.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        void _emailAddressChooserTask_Completed(object sender, EmailResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                MessageBox.Show("“" + e.DisplayName + "”的email是:" + e.Email);
            }
        }
    }
}

 

3、PhoneNumberChooserTask 的 Demo
PhoneNumberChooserTask.xaml.cs

/*
 * PhoneNumberChooserTask - 选择联系人的电话
 *     Completed - 选中电话之后所执行的事件
 *     Show() - 显示联系人列表
 *
 * TaskResult - 用户选择后的结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 *
 * PhoneNumberResult - Completed 事件的事件参数
 *     DisplayName - 联系人名称
 *     PhoneNumber - 联系人的电话
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class PhoneNumberChooserTaskDemo : PhoneApplicationPage
    {
        private PhoneNumberChooserTask _phoneNumberChooserTask;

        public PhoneNumberChooserTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _phoneNumberChooserTask = new PhoneNumberChooserTask();
            _phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(_phoneNumberChooserTask_Completed);

            try
            {
                _phoneNumberChooserTask.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        void _phoneNumberChooserTask_Completed(object sender, PhoneNumberResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                MessageBox.Show("“" + e.DisplayName + "”的电话号码是:" + e.PhoneNumber);
            }
        }
    }
}

 

4、SaveContactTask 的 Demo
SaveContactTask.xaml.cs

/*
 * SaveContactTask - 保存联系方式
 *     Completed - 完成保存操作(成功、取消、失败)之后所执行的事件
 *     FirstName, MiddleName, LastName, Nickname, HomeAddressCity, HomeAddressCountry, HomeAddressState, HomeAddressStreet, HomeAddressZipCode, HomePhone, WorkAddressCity, WorkAddressCountry, WorkAddressState, WorkAddressStreet, WorkAddressZipCode, WorkEmail, WorkPhone, Suffix, Title, Website, JobTitle, Company, MobilePhone, PersonalEmail, OtherEmail, Notes
 *     Show() - 显示用于保存联系方式的窗口
 *
 * TaskResult - 任务结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class SaveContactTaskDemo : PhoneApplicationPage
    {
        private SaveContactTask _saveContactTask;

        public SaveContactTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _saveContactTask = new SaveContactTask();
            _saveContactTask.Completed += new EventHandler<SaveContactResult>(_saveContactTask_Completed);

            try
            {
                _saveContactTask.FirstName = "web";
                _saveContactTask.LastName = "abcd";
                _saveContactTask.MobilePhone = "11111111111";

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

        void _saveContactTask_Completed(object sender, SaveContactResult e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    MessageBox.Show("保存成功");
                    break;

                case TaskResult.Cancel:
                    MessageBox.Show("取消保存");
                    break;

                case TaskResult.None:
                    MessageBox.Show("无法保存");
                    break;
            }
        }
    }
}

 

5、SaveEmailAddressTask 的 Demo
SaveEmailAddressTask.xaml.cs

/*
 * SaveEmailAddressTask - 保存电子邮件地址
 *     Completed - 完成保存操作(成功、取消、失败)之后所执行的事件
 *     Email - 需要保存的电子邮件地址
 *     Show() - 显示用于保存电子邮件地址的窗口
 *
 * TaskResult - 任务结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class SaveEmailAddressTaskDemo : PhoneApplicationPage
    {
        private SaveEmailAddressTask _saveEmailAddressTask;

        public SaveEmailAddressTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _saveEmailAddressTask = new SaveEmailAddressTask();
            _saveEmailAddressTask.Completed += new EventHandler<TaskEventArgs>(_saveEmailAddressTask_Completed);

            try
            {
                _saveEmailAddressTask.Email = "a@b.c";

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

        void _saveEmailAddressTask_Completed(object sender, TaskEventArgs e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    MessageBox.Show("保存成功");
                    break;

                case TaskResult.Cancel:
                    MessageBox.Show("取消保存");
                    break;

                case TaskResult.None:
                    MessageBox.Show("无法保存");
                    break;
            }
        }
    }
}

 

6、SavePhoneNumberTask 的 Demo
SavePhoneNumberTask.xaml.cs

/*
 * SavePhoneNumberTask - 保存电话号码
 *     Completed - 完成保存操作(成功、取消、失败)之后所执行的事件
 *     PhoneNumber - 需要保存的电话号码
 *     Show() - 显示用于保存电话号码的窗口
 *
 * TaskResult - 任务结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class SavePhoneNumberTaskDemo : PhoneApplicationPage
    {
        private SavePhoneNumberTask _savePhoneNumberTask;

        public SavePhoneNumberTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _savePhoneNumberTask = new SavePhoneNumberTask();
            _savePhoneNumberTask.Completed += new EventHandler<TaskEventArgs>(_savePhoneNumberTask_Completed);

            try
            {
                _savePhoneNumberTask.PhoneNumber = "11111111111";

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

        void _savePhoneNumberTask_Completed(object sender, TaskEventArgs e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    MessageBox.Show("保存成功");
                    break;

                case TaskResult.Cancel:
                    MessageBox.Show("取消保存");
                    break;

                case TaskResult.None:
                    MessageBox.Show("无法保存");
                    break;
            }
        }
    }
}

 

7、SaveRingtoneTask 的 Demo
SaveRingtoneTask.xaml.cs

/*
 * SaveRingtoneTask - 保存铃声
 *     Completed - 保存铃声之后所执行的事件
 *     Source - 铃声文件的地址
 *     IsShareable - 指示该铃声是否可被其他应用程序访问
 *     DisplayName - 铃声的名称(显示用)
 *     Show() - 显示保存铃声窗口
 *
 * TaskResult - 任务结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class SaveRingtoneTaskDemo : PhoneApplicationPage
    {
        private SaveRingtoneTask _saveRingtoneChooser;

        public SaveRingtoneTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _saveRingtoneChooser = new SaveRingtoneTask();
            _saveRingtoneChooser.Completed += new EventHandler<TaskEventArgs>(_saveRingtoneChooser_Completed);

            try
            {
                _saveRingtoneChooser.Source = new Uri("appdata:/Assets/SuperMario.mp3"); // appdata: 代表程序包内
                // saveRingtoneChooser.Source = new Uri("isostore:/myTone.mp3"); // isostore: 代表独立存储
                // _saveRingtoneChooser.Source = new Uri("http://a.b.c/d.mp3"); // 网络地址
                _saveRingtoneChooser.IsShareable = true;

                _saveRingtoneChooser.DisplayName = "超级马里奥铃声";

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

        void _saveRingtoneChooser_Completed(object sender, TaskEventArgs e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    MessageBox.Show("保存成功");
                    break;

                case TaskResult.Cancel:
                    MessageBox.Show("取消保存");
                    break;

                case TaskResult.None:
                    MessageBox.Show("无法保存");
                    break;
            }
        }
    }
}

 

8、PhotoChooserTask 的 Demo
PhotoChooserTask.xaml.cs

/*
 * PhotoChooserTask - 从图库里选择照片
 *     Completed - 选中照片之后所执行的事件
 *     Show() - 显示图库
 *
 * TaskResult - 任务结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 *
 * PhotoResult - Completed 事件的事件参数
 *     ChosenPhoto - 照片数据(System.IO.Stream 类型)
 *     OriginalFileName - 照片的文件名
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class PhotoChooserTaskDemo : PhoneApplicationPage
    {
        private PhotoChooserTask _photoChooserTask;

        public PhotoChooserTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _photoChooserTask = new PhotoChooserTask();
            _photoChooserTask.Completed += new EventHandler<PhotoResult>(_photoChooserTask_Completed);

            try
            {
                _photoChooserTask.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        void _photoChooserTask_Completed(object sender, PhotoResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
                bmp.SetSource(e.ChosenPhoto);
                img.Source = bmp;
            }
        }
    }
}

 

9、CameraCaptureTask 的 Demo
CameraCaptureTask.xaml.cs

/*
 * CameraCaptureTask - 相机拍照
 *     Completed - 拍照并确认之后所执行的事件
 *     Show() - 启动相机
 *
 * TaskResult - 任务结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 *
 * PhotoResult - Completed 事件的事件参数
 *     ChosenPhoto - 照片数据(System.IO.Stream 类型)
 *     OriginalFileName - 照片的文件名
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class CameraCaptureTaskDemo : PhoneApplicationPage
    {
        private CameraCaptureTask _cameraCaptureTask;

        public CameraCaptureTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _cameraCaptureTask = new CameraCaptureTask();
            _cameraCaptureTask.Completed += new EventHandler<PhotoResult>(_cameraCaptureTask_Completed);

            try
            {
                _cameraCaptureTask.Show();
            }
            catch (System.InvalidOperationException ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        void _cameraCaptureTask_Completed(object sender, PhotoResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
                bmp.SetSource(e.ChosenPhoto);
                img.Source = bmp;
            }
        }
    }
}

 

10、GameInviteTask 的 Demo
GameInviteTask.xaml.cs

/*
 * GameInviteTask - 游戏邀请(邀请其他人加入我的游戏会话)
 *     Completed - 完成操作之后所执行的事件
 *     SessionId - 游戏的会话 ID
 *     Show() - 发出邀请
 *
 * TaskResult - 用户选择后的结果
 *     OK - 成功
 *     Cancel - 取消
 *     None - 失败
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

using Microsoft.Phone.Tasks;

namespace Demo.Choosers
{
    public partial class GameInviteTaskDemo : PhoneApplicationPage
    {
        private GameInviteTask _gameInviteTask;

        public GameInviteTaskDemo()
        {
            InitializeComponent();
        }

        private void btnDemo_Click(object sender, RoutedEventArgs e)
        {
            _gameInviteTask = new GameInviteTask();
            _gameInviteTask.Completed += new EventHandler<TaskEventArgs>(_gameInviteTask_Completed);

            try
            {
                // 游戏需要在 Windows Phone 上的 Xbox LIVE 中发布,并且邀请人也要是 Xbox LIVE 的会员
                _gameInviteTask.SessionId = "游戏的 session id";
                _gameInviteTask.Show();
            }
            catch (System.InvalidOperationException ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        void _gameInviteTask_Completed(object sender, TaskEventArgs e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    MessageBox.Show("游戏邀请已发送");
                    break;

                case TaskResult.Cancel:
                    MessageBox.Show("游戏邀请已取消");
                    break;

                case TaskResult.None:
                    MessageBox.Show("游戏邀请无法发送");
                    break;
            }
        }
    }
}

OK
[源码下载]

时间: 2024-10-01 00:25:15

与众不同 windows phone (5) - Chooser(选择器)的相关文章

与众不同windows phone (5) Chooser(选择器)

介绍 与众不同 windows phone 7.5 (sdk 7.1) 之选择器 AddressChooserTask - 选择联系人的地址 EmailAddressChooserTask - 选择联系人的email PhoneNumberChooserTask - 选择联系人的电话 SaveContactTask - 保存联系方式 SaveEmailAddressTask - 保存电子邮件地址 SavePhoneNumberTask - 保存电话号码 SaveRingtoneTask - 保存

与众不同windows phone (6) Isolated Storage(独立存储)

介绍 与众不同 windows phone 7.5 (sdk 7.1) 之独立存储 概述 独立存储的读/写的Demo 读/写 key/value 形式数据到独立存储的快捷方法 示例 1.概述 Summary.xaml <phone:PhoneApplicationPage x:Class="Demo.IsolatedStorageDemo.Summary" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/prese

与众不同windows phone (47)

8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复 介绍 与众不同 windows phone 8.0 之 其它 锁屏信息和锁屏背景 电池状态 多分辨率应用 与 Windows Phone 商店相关的操作 系统的内置协议 快速恢复应用 App.xaml.cs 的说明 manifest 的说明 示例 1.演示如何发送信息到锁屏,以及如何修改锁屏背景 Others/LockScreen.xaml <phone:PhoneApplicationPage x:Cl

与众不同windows phone (46) 8.0 通信: Socket, 其它

介绍 与众不同 windows phone 8.0 之 通信 Socket Demo 获取当前连接的信息 http rss odata socket bluetooth nfc voip winsock 示例 1.演示 socket tcp 的应用 (本例既做服务端又做客户端) Communication/SocketDemo.xaml <phone:PhoneApplicationPage x:Class="Demo.Communication.SocketDemo" xmln

与众不同windows phone (45) 8.0 语音: TTS, 语音识别, 语音命令

介绍 与众不同 windows phone 8.0 之 语音 TTS(Text To Speech) 语音识别 语音命令 示例 1.演示 TTS(Text To Speech)的应用 Speech/TTS.xaml <phone:PhoneApplicationPage x:Class="Demo.Speech.TTS" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmln

与众不同windows phone (44) 8.0 位置和地图

介绍 与众不同 windows phone 8.0 之 位置和地图 位置(GPS) - Location API 诺基亚地图 示例 1.演示新 Location API 的应用 GPS/Demo.xaml <phone:PhoneApplicationPage x:Class="Demo.GPS.Demo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=&qu

与众不同windows phone (43)

8.0 相机和照片: 镜头的可扩展性, 图片的可扩展性, 图片的自动上传扩展 介绍 与众不同 windows phone 8.0 之 相机和照片 镜头的可扩展性 图片的可扩展性 图片的自动上传扩展 示例 1.演示如何将本 app 注册为镜头扩展 CameraAndPhoto/LensExtensibility.xaml <phone:PhoneApplicationPage x:Class="Demo.CameraAndPhoto.LensExtensibility" xmlns

与众不同windows phone (42)

8.0 相机和照片: 通过 PhotoCaptureDevice 捕获照片 介绍 与众不同 windows phone 8.0 之 相机和照片 通过 PhotoCaptureDevice 捕获照片 示例 演示 PhotoCaptureDevice(wp8)的应用 CameraAndPhoto/PhotoCaptureDeviceDemo.xaml <phone:PhoneApplicationPage x:Class="Demo.CameraAndPhoto.PhotoCaptureDev

与众不同windows phone (41)

8.0 相机和照片: 通过 AudioVideoCaptureDevice 捕获视频和音频 介绍 与众不同 windows phone 8.0 之 相机和照片 通过 AudioVideoCaptureDevice 捕获视频和音频 示例 演示 AudioVideoCaptureDevice(wp8)的应用 CameraAndPhoto/AudioVideoCaptureDeviceDemo.xaml <phone:PhoneApplicationPage x:Class="Demo.Came