Freigeben über


Kamera-UI-Features für mobile Geräte

In diesem Artikel erfahren Sie, wie Sie spezielle Kamera-UI-Features nutzen können, die nur auf mobilen Geräten vorhanden sind.

Hinzufügen der mobilen Erweiterung zu Ihrem Projekt

Um diese Features zu verwenden, müssen Sie Ihrem Projekt einen Verweis auf das Microsoft Mobile Extension SDK für die universelle App-Plattform hinzufügen.

So fügen Sie einen Verweis auf das SDK für die mobile Erweiterung für hardwarebasierte Kameraschaltflächen hinzu

  1. Klicken Sie im Projektmappen-Explorer erst mit der rechten Maustaste auf Verweise und anschließend mit der Linken auf Verweis hinzufügen.

  2. Erweitern Sie den Universellen Windows-Knoten, und wählen Sie "Erweiterungen" aus.

  3. Aktivieren Sie das Kontrollkästchen Microsoft Mobile Extension SDK für die universelle App-Plattform .

Ausblenden der Statusleiste

Mobile Geräte verfügen über ein Statusleisten-Steuerelement , das dem Benutzer Statusinformationen über das Gerät bereitstellt. Dieses Steuerelement beansprucht Platz auf dem Bildschirm, der die Medienaufnahme-UI beeinträchtigen kann. Sie können die Statusleiste ausblenden, indem Sie HideAsync aufrufen, aber Sie müssen diesen Aufruf innerhalb eines bedingten Blocks ausführen, in dem Sie die ApiInformation.IsTypePresent-Methode verwenden, um zu bestimmen, ob die API verfügbar ist. Diese Methode gibt nur true auf mobilen Geräten zurück, die die Statusleiste unterstützen. Sie sollten die Statusleiste ausblenden, wenn Ihre App gestartet wird oder wenn Sie mit der Vorschau der Kamera beginnen.

// Hide the status bar
if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
{
    await Windows.UI.ViewManagement.StatusBar.GetForCurrentView().HideAsync();
}

Wenn Ihre App heruntergefahren wird oder der Benutzer von der Medienaufnahmeseite Ihrer App weg navigiert, können Sie das Steuerelement wieder sichtbar machen.

// Show the status bar
if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
{
    await Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ShowAsync();
}

Verwenden der Hardwarekamerataste

Einige mobile Geräte verfügen über eine dedizierte Hardwarekameraschaltfläche, die einige Benutzer über ein Bildschirmsteuerelement bevorzugen. Um benachrichtigt zu werden, wenn die Hardwarekamerataste gedrückt wird, registrieren Sie einen Handler für das HardwareButtons.CameraPressed-Ereignis. Da diese API nur auf mobilen Geräten verfügbar ist, müssen Sie erneut isTypePresent verwenden, um sicherzustellen, dass die API auf dem aktuellen Gerät unterstützt wird, bevor Sie versuchen, darauf zuzugreifen.

using Windows.Phone.UI.Input;
if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
{
    HardwareButtons.CameraPressed += HardwareButtons_CameraPressed;
}

Im Handler für das CameraPressed-Ereignis können Sie eine Fotoaufnahme initiieren.

private async void HardwareButtons_CameraPressed(object sender, CameraEventArgs e)
{
    await TakePhotoAsync();
}

Wenn Ihre App heruntergefahren wird oder der Benutzer von der Medienaufnahmeseite Ihrer App weggeht, heben Sie die Registrierung des Hardwaretastenhandlers auf.

if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
{
    HardwareButtons.CameraPressed -= HardwareButtons_CameraPressed;
}