So wird's gemacht: Spiegeln des Videos (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation ]

Das Spiegeln des Vorschaubilds ist vor allem für Videokonferenzen und Videochatanwendungen hilfreich. Im Allgemeinen möchten Benutzer ein gespiegeltes Bild von sich sehen. Die "richtige" (nicht gespiegelte) Ansicht kann merkwürdig wirken, da wir es gewohnt sind, uns in einem Spiel anzuschauen.

Hinweis   Sie können SetPreviewMirroring und GetPreviewMirroring wie im Folgenden beschrieben verwenden, um das Vorschaubild horizontal zu spiegeln. Bei Windows-Runtime-Apps mit JavaScript ist es aber am effizientesten und daher empfehlenswert, das Vorschauvideo zu spiegeln, anstatt die msHorizontalMirror-Eigenschaft des video-Objekts zu verwenden.

Anweisungen

Schritt 1: Erstellen des MediaCapture-Objekts

Das MediaCapture-Objekt enthält die Methoden, Eigenschaften und asynchronen Vorgänge (Initialisieren asynchroner Vorgänge, Starten, Stoppen usw.), die Sie zum Spiegel des Vorschaubilds benötigen.

    oMediaCapture = new Windows.Media.Capture.MediaCapture();
    oMediaCapture.initializeAsync().then(function (result) {

Schritt 2: Festlegen der Spiegelung der Vorschau

Die MediaCapture-Klasse stellt Methoden zum Verwalten der horizontalen Ausrichtung des Vorschaubilds bereit. GetPreviewMirroring legt fest, ob das Vorschaubild gespielt wird oder nicht. SetPreviewMirroring aktiviert oder deaktiviert die horizontale Spiegelung des Videovorschau-Datenstroms.

In diesem Beispiel wird abgefragt, ob die horizontale Spiegelung aktiviert ist. Die horizontale Spiegelung wird aktiviert, wenn sie deaktiviert ist.

    if( !oMediaCapture.getPreviewMirroring() )
        oMediaCapture.setPreviewMirroring(true);

Schritt 3: Starten der Vorschau

Um die Videovorschau zu starten, rufen Sie die startPreviewAsync-Methode auf.

// Start Previewing
await _mediaCapture.StartPreviewAsync();
(App.Current as App).IsPreviewing = true;
    // Start Previewing
    var startPreviewOperation = oMediaCapture.startPreviewAsync();

Schritt 4: Beenden der Vorschau

Um die Videovorschau zu beenden, rufen Sie die StopPreviewAsync-Methode auf.

    // Set the handler for the StopPreviewOperation.    
    var stopPreviewOperation = oMediaCapture.stopPreviewAsync();

Schritt 5: Vollständiges Beispiel

Dieses Beispiel zeigt, wie Sie eine Vorschau eines Videos mithilfe der horizontalen Spiegelung anzeigen. Der Einstiegspunkt in diesem Beispiel ist die StartPreview-Funktion. Diese Funktion ruft eine Funktion auf, um die horizontale Spiegelung zu aktivieren, und erstellt den Handler für startPreviewOperation, um die Vorschau zu starten.

var oMediaCapture;
var profile;

function turnMirroringOn()
{
    if( !oMediaCapture.getPreviewMirroring() )
        oMediaCapture.setPreviewMirroring(true);
}

function OnStartPreviewComplete(startPreviewOperation)
{
    // This method does not return a value.
    //
    startPreviewOperation.GetResults();
    // Set the handler for the StopPreviewOperation.    
    var stopPreviewOperation = oMediaCapture.stopPreviewAsync();

    stopPreviewOperation.Completed = OnStopPreviewComplete;
    stopPreviewOperation.Start();

    startPreviewOperation.Close();
}

function OnStopPreviewComplete(stopPreviewOperation)
{
    // This method does not return a value.
    //
    stopPreviewOperation.GetResults();

    stopPreviewOperation.Close();
}

function startPreview()
{

    oMediaCapture = new Windows.Media.Capture.MediaCapture();
    oMediaCapture.initializeAsync().then(function (result) {
        createProfile();
    }, errorHandler);
    // Enable horizontal mirroring.
    //
    turnMirroringOn();

    // Start Previewing
    var startPreviewOperation = oMediaCapture.startPreviewAsync();
    startPreviewOperation.Completed = OnStartPreviewComplete;
    startPreviewOperation.Start();
}

Verwandte Themen

Beispiel für Medienaufzeichnungen

MediaCapture