Freigeben über


OrientationSensor.GetCurrentReading Methode

Definition

Ruft den aktuellen Sensorwert ab.

public:
 virtual OrientationSensorReading ^ GetCurrentReading() = GetCurrentReading;
OrientationSensorReading GetCurrentReading();
public OrientationSensorReading GetCurrentReading();
function getCurrentReading()
Public Function GetCurrentReading () As OrientationSensorReading

Gibt zurück

Der aktuelle Sensorwert.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine mit XAML und C# erstellte UWP-App den aktuellen Lesewert für den Ausrichtungssensor abruft.

private void DisplayCurrentReading(object sender, object args)
{
    OrientationSensorReading reading = _sensor.GetCurrentReading();
    if (reading != null)
    {
        // Quaternion values
        SensorQuaternion quaternion = reading.Quaternion;   // get a reference to the object to avoid re-creating it for each access
        ScenarioOutput_X.Text = String.Format("{0,8:0.00000}", quaternion.X);
        ScenarioOutput_Y.Text = String.Format("{0,8:0.00000}", quaternion.Y);
        ScenarioOutput_Z.Text = String.Format("{0,8:0.00000}", quaternion.Z);
        ScenarioOutput_W.Text = String.Format("{0,8:0.00000}", quaternion.W);

        // Rotation Matrix values
        SensorRotationMatrix rotationMatrix = reading.RotationMatrix;
        ScenarioOutput_M11.Text = String.Format("{0,8:0.00000}", rotationMatrix.M11);
        ScenarioOutput_M12.Text = String.Format("{0,8:0.00000}", rotationMatrix.M12);
        ScenarioOutput_M13.Text = String.Format("{0,8:0.00000}", rotationMatrix.M13);
        ScenarioOutput_M21.Text = String.Format("{0,8:0.00000}", rotationMatrix.M21);
        ScenarioOutput_M22.Text = String.Format("{0,8:0.00000}", rotationMatrix.M22);
        ScenarioOutput_M23.Text = String.Format("{0,8:0.00000}", rotationMatrix.M23);
        ScenarioOutput_M31.Text = String.Format("{0,8:0.00000}", rotationMatrix.M31);
        ScenarioOutput_M32.Text = String.Format("{0,8:0.00000}", rotationMatrix.M32);
        ScenarioOutput_M33.Text = String.Format("{0,8:0.00000}", rotationMatrix.M33);
    }
}

Hinweise

Eine Anwendung kann diese Methode verwenden, um den Sensor für den aktuellen Lesevorgang abzufragen, als Alternative zum Registrieren eines ReadingChanged-Ereignishandlers . Dies wäre die bevorzugte Alternative für eine Anwendung, die ihre Benutzeroberfläche mit einer bestimmten Bildfrequenz aktualisiert. Unabhängig davon, ob sie einmal oder mehrmals abruft, muss die Anwendung einen gewünschten ReportInterval einrichten. Dadurch wird der Sensortreiber darüber informiert, dass Ressourcen zugeordnet werden sollten, um nachfolgende Abrufanforderungen zu erfüllen.

Vor der Verwendung des Rückgabewerts aus dieser Methode muss die Anwendung zunächst überprüfen, ob der Wert nicht NULL ist. (Wenn der Wert NULL ist und Sie versuchen, ihn abzurufen, generiert Windows eine Ausnahme.)

Gilt für: