がりらぼ

WindowsRuntimeの応援ブログ

光センサーを使うには

光センサー

光センサーとは、デバイスの周囲の環境光を取得し、どれだけデバイスに光がそそがれているかを取得できます。

たいていのデバイスはフロントカメラの横に環境光センサーがついています。なのでここに手をかざすと環境光センサーは低い値をしめすことになります。

BsX1vgnCQAIB7bx

 

 

LightSensor

環境光を取得するにはLightSensorクラスを使用します。

まず、このようなXAML UIを用意します。

<Grid>
    <TextBlock x:Name="text_light" FontSize="24" />
</Grid>

 

コンストラクタでLightSensorを初期化し、ReportIntervalには環境光センサーの取得間隔を設定します。

ReadingChangedイベントではIlluminanceInLuxプロパティを取得することで環境光センサーの値を取得することができます。

LightSensor sensor = LightSensor.GetDefault();

sensor.ReportInterval = sensor.MinimumReportInterval;
sensor.ReadingChanged += async(s, ee) =>
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        text_light.Text = ee.Reading.IlluminanceInLux.ToString("F1");
    });
};

 

光センサーを使うには | garicchi.com