代码注释之Kinect设备发现
来源:互联网 发布:教孩子学编程 编辑:程序博客网 时间:2024/05/21 03:26
代码来源介绍
作者: yangecnu(yangecnu's Blog on 博客园)
出处:http://www.cnblogs.com/yangecnu/
本作品由yangecnu创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 欢迎转载,但任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
public partial class MainWindow : Window
{
//私有Kinectsensor对象
private KinectSensor kinect;
public KinectSensor Kinect
{
get { return this.kinect; }
set
{
//如果带赋值的传感器和目前的不一样
if (this.kinect != value)
{
//如果当前的传感对象不为null
if (this.kinect != null)
{
//uninitailize当前对象
this.kinect = null;
}
//如果传入的对象不为空,且状态为连接状态
if (value != null && value.Status == KinectStatus.Connected)
{
this.kinect = value;
}
}
}
}
public MainWindow()
{
InitializeComponent();
//应用程序运行后,当主窗口加载时,调用发现传感器设备,并作相应处理
this.Loaded += (s, e) => DiscoverKinectSensor();
//应用程序关闭时,将机器设备中的传感器设备对象置空释放
this.Unloaded += (s, e) => this.kinect = null;
}
private void DiscoverKinectSensor()
{
//将传感器状态变化事件与相应函数绑定,跟踪处理设备状态变化
KinectSensor.KinectSensors.StatusChanged += KinectSensors_StatusChanged;
//应用程序第一次搜索加载传感器设备,用Kinect属性确保kinnect对象正确初始化
this.Kinect = KinectSensor.KinectSensors.FirstOrDefault(x => x.Status == KinectStatus.Connected);
}
//应用程序运行期间,保持对设备对象状态的动态跟踪与处理
private void KinectSensors_StatusChanged(object sender, StatusChangedEventArgs e)
{
switch (e.Status)
{
case KinectStatus.Connected:
if (this.kinect == null)
this.kinect = e.Sensor;
break;
case KinectStatus.Disconnected:
if (this.kinect == e.Sensor)
{
this.kinect = null;
this.kinect = KinectSensor.KinectSensors.FirstOrDefault(x => x.Status == KinectStatus.Connected);
//当前设备断开连接时,再次搜索处于连接状态的kinnect设备
//如果没有则提醒设备断开
if (this.kinect == null)
{
//TODO:通知用于Kinect已拔出
MessageBox.Show("未搜索到任何可连接的kinnect设备!");
}
}
break;
//TODO:处理其他情况下的状态
}
}
}
- 代码注释之Kinect设备发现
- 代码注释之kinect数据流对象操作
- Kinect开发笔记之四检测并调试Kinect设备
- 代码助理之注释
- C之代码注释
- linux块设备代码完全注释
- 驱动之路五------linux块设备驱动代码详细注释
- Onvif之设备发现-基于gsoap2.8.27
- 局域网设备发现之Bonjour协议
- Onvif学习之客户端设备发现
- 局域网设备发现之Bonjour协议
- 局域网设备发现之Bonjour协议
- 局域网设备发现之Bonjour协议
- kinect脚本部分翻译/注释
- 敏捷开发之代码注释
- 注释代码技巧之二
- 注释代码技巧之三
- 《代码整洁之道》--注释
- [每日一学]MFC学习笔记——读取文本文档
- C#连接Oracle数据库
- ubuntu gtk eclipse
- 吾岂匏瓜?
- JavaSE第十一讲:面向对象之封装 续二
- 代码注释之Kinect设备发现
- 动态规划-最优二叉搜索树
- C#使用正则表达式提取GPS信息
- Map.Entry<K,V> 的简单用法
- 3行代码为何能求得二进制数中1比特的个数
- android编译系统makefile(Android.mk)写法
- Day2完挂,回家种田
- 工作记录--我在路上
- C++简易理论模型:DFS深搜法破解安卓手机锁