Auf dieser Seite

Video QML Type

Ein bequemer Typ zum Anzeigen eines bestimmten Videos. Mehr...

Import Statement: import QtMultimedia
Inherits:

Item

Eigenschaften

Signale

Methoden

Ausführliche Beschreibung

Video ist ein Komforttyp, der die Funktionalität von MediaPlayer und VideoOutput in sich vereint. Er bietet eine einfache Videowiedergabefunktionalität, ohne mehrere Typen deklarieren zu müssen.

Es folgt ein Beispielcode zur Implementierung der Videowiedergabe in einer Szene.

Video {
    id: video
    width : 800
    height : 600
    source: "video.avi"

    MouseArea {
        anchors.fill: parent
        onClicked: {
            video.play()
        }
    }

    focus: true
    Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play()
    Keys.onLeftPressed: video.position = video.position - 5000
    Keys.onRightPressed: video.position = video.position + 5000
}

Die Quelldatei video.avi wird abgespielt, wenn Sie auf das übergeordnete Element von MouseArea klicken. Das Video wird in einem Bereich von 800 x 600 Pixel abgespielt, und die Eigenschaft id hat den Wert video.

Beachten Sie, dass die Signale für Keys definiert wurden und das Drücken der Taste:

  • Spacebar schaltet die Pausentaste um.
  • Left Arrow verschiebt die aktuelle Position im Video um 5 Sekunden nach vorne.
  • Right Arrow die aktuelle Position im Video um 5 Sekunden vorverlegt.

Video unterstützt untransformierte, gestreckte und gleichmäßig skalierte Videodarstellung. Eine Beschreibung der gestreckten, gleichmäßig skalierten Darstellung finden Sie in der Beschreibung der Eigenschaft fillMode.

Siehe auch MediaPlayer und VideoOutput.

Dokumentation der Eigenschaft

autoPlay : bool [since 6.7]

Diese Eigenschaft steuert, ob die Medien nach dem Laden automatisch abgespielt werden sollen. Die Standardeinstellung ist false.

Diese Eigenschaft wurde in Qt 6.7 eingeführt.

bufferProgress : real

Diese Eigenschaft gibt an, wie stark der Datenpuffer derzeit gefüllt ist, von 0,0 (leer) bis 1,0 (voll).

duration : int

Diese Eigenschaft enthält die Dauer des Mediums in Millisekunden.

Wenn die Medien keine feste Dauer haben (z. B. bei einem Live-Stream), ist dieser Wert 0.

endOfStreamPolicy : enumeration [since 6.9]

Diese Eigenschaft gibt die Richtlinie an, die bei Beendigung des Videostreams anzuwenden ist.

Die endOfStreamPolicy kann eine der folgenden sein:

KonstanteBeschreibung
ClearOutputDie Videoausgabe wird gelöscht.
KeepLastFrameDie Videoausgabe zeigt weiterhin das letzte Bild an. Verwenden Sie die Methode clearOutput(), um die Ausgabe manuell zu löschen.

Der Standardwert ist VideoOutput.ClearOutput.

Diese Eigenschaft wurde in Qt 6.9 eingeführt.

error : enumeration

Diese Eigenschaft enthält den Fehlerstatus des Videos. Sie kann eine der folgenden sein:

  • MediaPlayer.NoError - Es liegt kein aktueller Fehler vor.
  • MediaPlayer.ResourceError - das Video kann aufgrund eines Problems bei der Ressourcenzuweisung nicht abgespielt werden.
  • MediaPlayer.FormatError - das Videoformat wird nicht unterstützt.
  • MediaPlayer.NetworkError - das Video kann aufgrund von Netzwerkproblemen nicht abgespielt werden.
  • MediaPlayer.AccessDenied - das Video kann aufgrund unzureichender Berechtigungen nicht abgespielt werden.
  • MediaPlayer.ServiceMissing - das Video kann nicht abgespielt werden, da der Mediendienst nicht instanziiert werden konnte.

errorString : string

Diese Eigenschaft enthält eine Zeichenfolge, die den aktuellen Fehlerzustand genauer beschreibt.

fillMode : enumeration

Legen Sie diese Eigenschaft fest, um zu definieren, wie das Video skaliert wird, um in den Zielbereich zu passen.

  • VideoOutput.Stretch - das Video wird so skaliert, dass es passt
  • VideoOutput.PreserveAspectFit - das Video wird gleichmäßig skaliert, damit es ohne Beschneidung passt
  • VideoOutput.PreserveAspectCrop - das Video wird gleichmäßig skaliert, um es auszufüllen, und gegebenenfalls beschnitten

Da dieser Typ der Bequemlichkeit in QML dient, unterstützt er keine direkten Aufzählungen. Daher werden Aufzählungen von VideoOutput verwendet, um auf die verfügbaren Füllmodi zuzugreifen.

Der Standardfüllmodus ist preserveAspectFit.

hasAudio : bool

Diese Eigenschaft gibt an, ob das aktuelle Medium Audioinhalte enthält.

hasVideo : bool

Diese Eigenschaft gibt an, ob das aktuelle Medium Videoinhalte enthält.

loops : int

Bestimmt, wie oft die Medien abgespielt werden, bevor sie gestoppt werden. Setzen Sie den Wert MediaPlayer.Infinite, um die aktuelle Mediendatei in einer Endlosschleife abzuspielen.

Der Standardwert ist 1. Die Einstellung dieser Eigenschaft auf 0 hat keine Auswirkungen.

metaData : mediaMetaData

Diese Eigenschaft enthält die Metadaten für das aktuelle Medium.

Siehe MediaPlayer.metaData für Einzelheiten zu den einzelnen Metadatenschlüsseln.

Siehe auch mediaMetaData.

mirrored : int

Bestimmt, ob das angezeigte Video um seine vertikale Achse gespiegelt wird. Die Spiegelung wird nach orientation angewendet. Der Standardwert ist false.

muted : bool

Diese Eigenschaft gibt an, ob die Audioausgabe stummgeschaltet ist.

orientation : int [since 6.9]

Diese Eigenschaft bestimmt den Winkel in Grad, um den das angezeigte Video in Videokoordinaten im Uhrzeigersinn gedreht wird, wobei die Y-Achse auf dem Bildschirm nach unten zeigt. Die Ausrichtungstransformation wird vor mirrored angewendet.

Es werden nur Vielfache von 90 Grad unterstützt, d. h. 0, 90, -90, 180, 270 usw., andernfalls wird der angegebene Wert ignoriert.

Der Standardwert ist 0.

Diese Eigenschaft wurde in Qt 6.9 eingeführt.

playbackRate : real

Diese Eigenschaft enthält die Rate, mit der das Video abgespielt wird, als ein Vielfaches der normalen Rate.

playbackState : enumeration

Diese schreibgeschützte Eigenschaft zeigt den Wiedergabestatus des Mediums an.

Der Standardstatus ist MediaPlayer.StoppedState.

position : int

Diese Eigenschaft enthält die aktuelle Abspielposition in Millisekunden.

seekable : bool

Diese Eigenschaft gibt an, ob die Abspielposition des Videos geändert werden kann.

Wenn dies der Fall ist, führt ein Aufruf der Methode seek() oder eine Änderung der Eigenschaft position dazu, dass die Wiedergabe an der neuen Position erfolgt.

source : url

Diese Eigenschaft enthält die Quell-URL des Mediums.

volume : real

Diese Eigenschaft enthält die Audiolautstärke.

Die Lautstärke wird linear von 0.0 (Stille) bis 1.0 (volle Lautstärke) skaliert. Werte, die außerhalb dieses Bereichs liegen, werden geklammert.

Die Standardlautstärke ist 1.0.

Die Lautstärkeregler der Benutzeroberfläche sollten normalerweise nicht linear skaliert werden. Die Verwendung einer logarithmischen Skala führt beispielsweise zu linearen Änderungen der wahrgenommenen Lautstärke, was der Benutzer normalerweise von einem Lautstärkeregler erwarten würde. Siehe QtAudio::convertVolume() für weitere Details.

Signal-Dokumentation

errorOccurred(error, errorString)

Dieses Signal wird ausgegeben, wenn ein error aufgetreten ist. Der Parameter errorString kann genauere Informationen über den Fehler enthalten.

Hinweis: Der entsprechende Handler ist onErrorOccurred.

paused()

Dieses Signal wird ausgegeben, wenn die Wiedergabe pausiert wird.

Hinweis: Der entsprechende Handler ist onPaused.

playing()

Dieses Signal wird ausgegeben, wenn die Wiedergabe gestartet oder fortgesetzt wird.

Hinweis: Der entsprechende Handler ist onPlaying.

stopped()

Dieses Signal wird ausgegeben, wenn die Wiedergabe gestoppt wird.

Hinweis: Der entsprechende Handler ist onStopped.

Dokumentation der Methode

[since 6.9] clearOutput()

Löscht die Videoausgabe durch Entfernen des aktuellen Videobildes. Diese Methode wird empfohlen, wenn Sie das letzte Videobild entfernen müssen, nachdem der Videostream mit der endOfStreamPolicy Video-Eigenschaft, die auf KeepLastFrame gesetzt ist, endet.

Diese Methode wurde in Qt 6.9 eingeführt.

pause()

Pausiert die Wiedergabe des Mediums.

play()

Startet die Wiedergabe des Mediums.

seek(offset)

Wenn die Eigenschaft seekable wahr ist, wird die aktuelle Abspielposition auf offset gesucht.

Siehe auch seekable und position.

stop()

Stoppt die Wiedergabe des Mediums.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.