zoukankan      html  css  js  c++  java
  • wp7打开加速度传感器

    1. 引人传感器类库

        using Microsoft.Devices.Sensors

    2.通过Accelerometer.IsSupported判断当前设备是否支持加速度传感器,如果返回false则表示设备不支持加速度感应器。

      f (Accelerometer.IsSupported)
                {
                   // lblAccelerometerStatus.Text = "此设备支持加速度传感器";
                }
                else
                {
                   // lblAccelerometerStatus.Text = "此设备不支持加速度传感器";
                }

    3.打开加速度设备,设置监听获得,x,y,z轴对应的加速度值

       private Accelerometer _accelerometer;

        

    private void btnStart_Click(object sender, RoutedEventArgs e)

            {

                if (_accelerometer == null)  

               {

                    // 实例化 Accelerometer,注册相关事件  

                   _accelerometer = new Accelerometer();

                    _accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(1);

                    _accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(_accelerometer_CurrentValueChanged);

                    lblTimeBetweenUpdates.Text = "TimeBetweenUpdates 设置为 1 毫秒,实际为 " + _accelerometer.TimeBetweenUpdates.TotalMilliseconds.ToString() + " 毫秒";

                }

                try  

               {

                    // 打开加速度传感器

                    _accelerometer.Start();

                    lblAccelerometerStatus.Text = "加速度传感器已打开";  

               }             catch (Exception ex)

                {

                    lblAccelerometerStatus.Text = "加速度传感器已打开失败";

                    MessageBox.Show(ex.ToString());

                }

            }

     void _accelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e)

            {

                // 注:此方法是在后台线程运行的,所以需要更新 UI 的话注意要调用 UI 线程

                Dispatcher.BeginInvoke(() => UpdateUI(e.SensorReading));

            }

                    // 更新 UI

            private void UpdateUI(AccelerometerReading accelerometerReading)

            {

                Vector3 acceleration = accelerometerReading.Acceleration;

                // 输出 X Y Z 的值

                lblMsg.Text = "acceleration.X: " + acceleration.X.ToString("0.0");

                lblMsg.Text += Environment.NewLine;  

               lblMsg.Text += "acceleration.Y: " + acceleration.Y.ToString("0.0");  

               lblMsg.Text += Environment.NewLine;

                lblMsg.Text += "acceleration.Z: " + acceleration.Z.ToString("0.0");

            }

      

     4.关闭监听

      if (_accelerometer != null)
                {
                    // 关闭加速度传感器
                    _accelerometer.Stop();
                    lblAccelerometerStatus.Text = "加速度传感器已关闭";
                }

    wp开发 metro开发
  • 相关阅读:
    Linux下命令行解析
    L.append(a)、L+=[a]和L=L+[a]
    python的lambda表达式
    (转载)2012 EEPW ARM DIY功能扩展模块采买建议(ARM)(PCB)
    (转载)EEPW ARM DIY手记之软件设计(一)——MDK_ARM工程的搭建(ARM)(C)
    (转载)EEPW ARM DIY手记之软件设计(二)——LED跑马灯实验(ARM)(C)
    (转载)EEPW ARM DIY手记之硬件功夫(三)——硬件焊接功夫与硬件测试心得(ARM)(PCB)
    面向对象设计大作业第二阶段:图书馆查书、借书、还书
    C博客作业05指针
    DS博客作业04图
  • 原文地址:https://www.cnblogs.com/daheihei/p/2847622.html
Copyright © 2011-2022 走看看