Поделиться через


Accelerometer Класс

Определение

Представляет датчик акселерометра.

Этот датчик возвращает значения G-силы относительно осей x, y и z.

См. пример внедрения в примере с акселерометром.

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)

Комментарии

Приложения используют методы в этом классе, чтобы определить, изменилось ли показания датчика или устройство было встряхнуло.

Приложения используют свойства этого класса для получения и настройки интервала отчета датчика.

Данные датчика предоставляются относительно фиксированной системы координат датчика устройства и не зависят от ориентации дисплея. Для приложений, которые используют данные датчика для управления вводом или для управления элементами на экране, разработчик должен учитывать текущую ориентацию экрана и соответствующим образом компенсировать данные. Дополнительные сведения о системе координат датчика см. в разделе Данные датчика и ориентация дисплея.

В следующем примере показано, как приложение UWP, созданное на основе XAML и C#, использует метод GetDefault для установления подключения к акселерометру. Если встроенный акселерометр не найден, метод возвращает значение NULL.

_accelerometer = Accelerometer.GetDefault();

В следующем примере показано, как приложение UWP, созданное с помощью XAML, регистрирует обработчик событий 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 Тип чтения
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

Происходит, когда акселерометр обнаруживает, что компьютер встряхнулся.

Применяется к

См. также раздел