Auf dieser Seite

Änderungen an Qt Multimedia

Qt 6 sind das Ergebnis bewusster Bemühungen, das Framework effizienter und benutzerfreundlicher zu gestalten.

Wir bemühen uns, bei jeder Version die Binär- und Quellcode-Kompatibilität für alle öffentlichen APIs aufrechtzuerhalten. Einige Änderungen waren jedoch unvermeidlich, um Qt zu einem besseren Framework zu machen.

Das Modul wurde umfassend überarbeitet und ist nun nicht mehr als „essential“, sondern als „add-on“ klassifiziert. Das Modul „ Qt Multimedia “ in Qt 6 ersetzt das Modul „ Qt Multimedia “ aus Qt 5.x. Bestehender Code, der „ Qt Multimedia “ aus Qt 5 verwendet, lässt sich mit geringem Aufwand portieren.

Neue Funktionen in Qt 6

Qt Multimedia bietet eine Reihe neuer Funktionen:

  • QMediaCaptureSession Die Klasse `Capture` ist das zentrale Objekt für die Medienerfassung.
  • QMediaRecorder Die Klasse ist nun auf die Audio- und Videoaufzeichnung beschränkt. Sie übernimmt die Kodierung der in einer Aufnahmesitzung erzeugten Daten.
  • Durch die Verwendung von ` QMediaFormat ` und ` QMediaRecorder` hat sich die Einrichtung der gewünschten Kodierung bei der Aufnahme erheblich geändert.
  • Sie können nun auch das bei einer Aufnahmesitzung aufgezeichnete Audio überwachen.
  • Es wurde die Unterstützung für die Auswahl von Audio-, Video- und Untertitelspuren bei der Wiedergabe von Mediendateien hinzugefügt.
  • QAudioDecoder wird nun auf allen Plattformen unterstützt.

Entfernte Funktionen

Entfernte FunktionHinweise oder vorgeschlagene Alternative
Die Wiedergabeliste in QMediaPlayerQMediaPlayer übernimmt in Qt 6 keine Verwaltung von Wiedergabelisten mehr.
QMediaPlayListDiese Klasse wurde aus der API entfernt. Sie ist jedoch weiterhin als Teil des Media-Player-Beispiels vorhanden.
QAudioProbe und QVideoProbeDie API für Audio- und Video-Probing wurde entfernt.
QAudioRecorderVerwenden Sie den QML-Typ „ QMediaCaptureSession “ oder „ CaptureSession “.
Audio-QML-TypVerwenden Sie den QML-Typ „ MediaPlayer “.
QMediaObject und QMediaBindableInterfaceDiese Klassen wurden zugunsten einer direkteren API zum Herstellen von Verbindungen zwischen Objekten entfernt, beispielsweise mithilfe von `setVideoOutput` und ` QMediaCaptureSession`.
QCameraViewFinderSettingsDiese Klasse wurde entfernt. Verwenden Sie „ QCameraFormat “, um die Auflösung und Bildrate festzulegen, die die Kamera verwenden soll.
QMediaContentDie Klasse wurde entfernt. Verwenden Sie stattdessen „ QUrl “ für einzelne Mediendateien.
QSoundVerwenden Sie stattdessen „ QSoundEffect “.
QVideoFilterRunnableVerwenden Sie stattdessen Shader-Effekte in QML oder greifen Sie in C++ auf den Inhalt von „ QVideoFrame “ zu.
Öffentliche Backend-APIDie Backend-API von „ Qt Multimedia “ ist in Qt 6 privat. Dies verbessert die Reaktionszeit bei der Unterstützung neuer Multimedia-Anwendungsfälle. Alle Klassen, deren Klassenname in Qt 5 die Wörter „Control“ oder „Abstract“ enthält, sind in Qt 6 nun privat.
Die Unterstützung für ALSA-Audio unter Linux ist experimentellFür Audio unter Linux ist PulseAudio erforderlich. Die experimentelle ALSA-Unterstützung wird in zukünftigen Qt-Versionen als veraltet markiert. Weitere Informationen finden Sie in den Hinweisen zur Linux-Plattform.

Geänderte Funktionen

Eine Reihe von Klassen, die zuvor in „ Qt Multimedia “ angeboten wurden, haben sich in einer Weise geändert, die sich auf bereits geschriebenen Code auswirken kann. Die folgende Tabelle hebt diese Änderungen hervor.

Geänderte FunktionHinweise
Behandlung von Kameraauflösungen und BildratenDie Handhabung dieser Parameter wurde vereinfacht, und eine neue „ QCameraFormat “-Klasse hilft bei der Auswahl der richtigen Auflösung und Bildrate für die Kamera.
Die Handhabung der Videoausgabe auf der C++-Seite hat sich erheblich geändert.„QAbstractVideoSurface“ wurde durch die Klasse „ QVideoSink “ ersetzt, und die generische Rendering-Unterstützung wurde erweitert, um alle von „ Qt Multimedia “ unterstützten Pixelformateabzudecken.
Die MetadatentypenQMediaMetaData hat sich erheblich geändert: Vor allem wurde von stringbasierten auf enumbasierte Schlüssel umgestellt und die Menge der unterstützten Schlüssel auf diejenigen reduziert, die auf den meisten Plattformen unterstützt werden können.
QMediaFormatDie Handhabung von Formaten für kodierte Medien und die Einstellungen für den Medienrekorder haben sich erheblich geändert. Qt 5 bietet eine stringbasierte API, ein separates Dateiformat sowie Audio- und Video-Codecs in drei Klassen. Qt 6 vereint die Formate jedoch in der Klasse „ QMediaFormat “. Zusätzliche Einstellungen werden direkt in ` QMediaRecorder` festgelegt. Die Konfiguration von Dateiformaten und Codecs erfolgt nun über Enums und nicht mehr über Zeichenketten. Dies schränkt die Auswahl der verwendbaren Codecs zwar etwas ein, trägt aber zu einer einheitlichen plattformübergreifenden API bei.
QCameraImageCapture umbenannt QImageCaptureKeine
Audio-Ein- und -AusgängeQMediaPlayer sowie ` QMediaCaptureSession ` (und die entsprechenden QML-Typen ` MediaPlayer ` und ` CaptureSession`) sind standardmäßig nicht mit Audiogeräten verbunden. Verbinden Sie sie explizit mit einem ` QAudioInput` / `AudioInput ` oder ` QAudioOutput` / `AudioOutput `, um Audio aufzunehmen oder wiederzugeben.
VideoaufnahmeEine Aufnahmesitzung ist standardmäßig nicht mit einer Kamera verbunden. Verbinden Sie sie mit einem QCamera -Objekt (Element „Camera“), um Videos oder Standbilder aufnehmen zu können.

© 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.