Accelerometer クラス

定義

加速度計センサーを表します。

このセンサーは、x、y、z 軸に対して G フォース値を返します。

実装例については、加速度計センサーのサンプルをご覧ください。

public ref class Accelerometer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Accelerometer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Accelerometer
Public NotInheritable Class Accelerometer
継承
Object Platform::Object IInspectable Accelerometer
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

アプリケーションでは、このクラスの メソッドを使用して、センサーの読み取り値が変更されたか、デバイスがシェイクされたかを判断します。

アプリケーションでは、このクラスのプロパティを使用して、センサー レポートの間隔を取得および調整します。

センサー データは、デバイスの固定センサー座標系に対して提供され、ディスプレイの向きに依存しません。 入力制御や画面上の要素の操作にセンサー データに依存するアプリケーションの場合、開発者は現在の表示方向を考慮し、データを適切に補正する必要があります。 センサー座標系の詳細については、「センサー データと表示の向き」を参照してください。

次の例は、XAML と C# を使用して構築された UWP アプリが GetDefault メソッドを使用して加速度計への接続を確立する方法を示しています。 統合加速度計が見つからない場合、メソッドは null 値を返します。

_accelerometer = Accelerometer.GetDefault();

次の例では、XAML で構築された UWP アプリが ReadingChanged イベント ハンドラーを登録する方法を示します。

private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_accelerometer != null)
    {
        // Establish the report interval
        _accelerometer.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _accelerometer.ReadingChanged += new TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No accelerometer found", NotifyType.StatusMessage);
    }
}

次の例は、 ReadingChanged イベント ハンドラーを示しています。

async private void ReadingChanged(object sender, AccelerometerReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        AccelerometerReading reading = e.Reading;
        ScenarioOutput_X.Text = String.Format("{0,5:0.00}", reading.AccelerationX);
        ScenarioOutput_Y.Text = String.Format("{0,5:0.00}", reading.AccelerationY);
        ScenarioOutput_Z.Text = String.Format("{0,5:0.00}", reading.AccelerationZ);
    });
}

バージョン履歴

Windows のバージョン SDK バージョン 追加された値
1607 14393 GetDefault(AccelerometerReadingType)
1607 14393 ReadingType
1709 16299 FromIdAsync
1709 16299 GetDeviceSelector
2004 19041 ReportThreshold

プロパティ

DeviceId

デバイス識別子を取得します。

MaxBatchSize

センサーでバッチ処理できるイベントの最大数を取得します。

MinimumReportInterval

加速度計でサポートされている最小レポート間隔を取得します。

ReadingTransform

センサー データに適用する必要がある変換を取得または設定します。 適用する変換は、センサー データの配置に使用する表示方向に関連付けられます。

ReadingType

このオブジェクトによって表される加速度計センサーの種類を取得します。

ReportInterval

加速度計の現在のレポート間隔を取得または設定します。

ReportLatency

センサー情報のバッチ間の遅延を取得または設定します。

ReportThreshold

加速度計センサーの AccelerometerDataThreshold を取得します。

メソッド

FromIdAsync(String)

センサーをその識別子から非同期的に取得します。

GetCurrentReading()

現在の加速度計の読み取り値を取得します。

GetDefault()

既定の加速度計を返します。

GetDefault(AccelerometerReadingType)

特定の種類のセンサーの既定の加速度計を返します。 可能な加速度計センサーは、 AccelerometerReadingType によって定義されます。

GetDeviceSelector(AccelerometerReadingType)

デバイス セレクターを取得します。

イベント

ReadingChanged

加速度計が新しいセンサーの読み取りを報告するたびに発生します。

Shaken

PC が振られたことを加速度計が検出したときに発生します。

適用対象

こちらもご覧ください