OrientationSensor.GetCurrentReading Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.)