Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

Multimedia

Multimedia provides a set of APIs that allow the developer to play, record and manage a collection of media content. It is dependent on the QtMultimedia API.

Overview

This library will require Qt 4.6.

This API delivers an easy to use interface to multimedia functions whether the developer wants to show an image, a video, record sound or play a multimedia stream.

There are several benefits from that this API brings to Qt. Firstly, the developer can now implement fundamental multimedia functions with minimal code, mostly because they are already implemented. Also there is a great deal of flexibility with the source or generated multimedia. The source file does not need to be local to the device, it could be streamed from a remote location and identified by a URL. Many different codecs are supported 'out of the box'.

The supplied examples give a good idea at the ease of use of the API. When the supporting user interface code is ignored we can see that functionality is immediately available with minimal code.

Audio

Looking at the Audio Recorder example we see that by creating a QMediaRecorder object that is initialized with a newly created QAudioCaptureSource object we can now perform all the core actions necessary to record a sound source.

To initialize the objects we create a QAudioCaptureSource object. This will have a list of available devices to choose from so that we can identify the origin of the audio data. We then use the capture source object to initialize a QMediaRecorder object

        audiosource = new QAudioCaptureSource;
        capture = new QMediaRecorder(audiosource);

The API now allows us to discover available devices and codecs as shown in the example. To actually do the recording we merely have to call the record() function, and to stop call the stop() function. Saving to a file is done simply by calling QMediaRecorder::setOutputLocation() before starting to record.

With a handful of functions and two classes we can implement a sound recording application, excluding the supporting user interface code.

Video

Support for the camera is not included in this release but will be part of a future update.

For playing and manipulating video sources the API enables us to easily implement a player application. If we examine the Player example we see that the implementation of a simple media player requires a QMediaPlayer object, which is used to initialize a QMediaPlaylist object.

        player = new QMediaPlayer;
        playlist = new QMediaPlaylist(player);

To display the playing video file we need a QVideoWidget object. However, instead of using a QVideoWidget object directly the Player example has a VideoWidget class that inherits from QVideoWidget so that functions can be added to go to full screen display, either on a double click or on a particular keypress.

Radio

QRadioTunerControl is a pure virtual base class that will be the basis for any platform specific radio device control. When the functions are implemented the developer will be able to quickly produce an application that supports the typical uses of an FM radio including tuning, volume, start, stop and various other controls.

Examples

Record a Sound Source

AudioRecorder is a demonstration of the discovery of the supported devices and codecs and the use of recording functions in the QMediaRecorder class.

Play a Media File

The Player example is a simple multimedia player. Select a video file to play, stop, pause, show in fullscreen or manipulate various image attributes using the Color Options button.

Slide Show

The Slide Show shows the use of the QMediaImageViewer and QVideoWidget classes.

Reference documentation

Main classes

QAudioCaptureSourceInterface to query and select an audio input device
QAudioEncoderSettingsSet of audio encoder settings
QGraphicsVideoItemGraphics item which display video produced by a QMediaObject
QMediaContentAccess to the resources relating to a media content
QMediaFormatControlAccess to the output format of a QMediaService
QMediaImageViewerMeans of viewing image media
QMediaObjectCommon base for multimedia objects
QMediaPlayerAllows the playing of a media source
QMediaPlaylistList of media content to play
QMediaRecorderUsed for the recording of media content
QMediaResourceDescription of a media resource
QMediaStreamsControlMedia stream selection control
QRadioTunerInterface to the systems analog radio device
QVideoOutputControlMeans of selecting the active video output control
QVideoRendererControlControl for rendering to a video surface
QVideoWidgetWidget which presents video produced by a media object
QVideoWidgetControlMedia control which implements a video widget

Classes for service implementers.

QAudioDeviceControlAudio input/output device selector media control
QAudioEncoderControlAccess to the settings of a media service that performs audio encoding
QImageEncoderControlAccess to the settings of a media service that performs image encoding
QImageProcessingControlAbstract class for controling image processing parameters, like white balance, contrast, saturation, sharpening and denoising
QMediaControlBase interface for media service controls
QMediaFormatControlAccess to the output format of a QMediaService
QMediaPlayerControlAccess to the media playing functionality of a QMediaService
QMediaPlaylistControlAccess to the playlist functionality of a QMediaService
QMediaRecorderControlAccess to the recording functionality of a QMediaService
QMediaServiceCommon base class for media service implementations
QMediaServiceProviderHintDescribes what is required of a QMediaService
QMediaStreamsControlMedia stream selection control
QMetaDataControlAccess to the meta-data of a QMediaService's media
QRadioTunerControlAccess to the radio tuning functionality of a QMediaService
QVideoDeviceControlVideo device selector media control
QVideoEncoderControlAccess to the settings of a media service that performs video encoding
QVideoOutputControlMeans of selecting the active video output control
QVideoWindowControlMedia control for rendering video to a window

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 22
  2. Une nouvelle ère d'IHM 3D pour les automobiles, un concept proposé par Digia et implémenté avec Qt 3
  3. PySide devient un add-on Qt et rejoint le Qt Project et le modèle d'open gouvernance 1
  4. Qt Creator 2.5 est sorti en beta, l'EDI supporte maintenant plus de fonctionnalités de C++11 2
  5. Vingt sociétés montrent leurs décodeurs basés sur Qt au IPTV World Forum, en en exploitant diverses facettes (déclaratif, Web, widgets) 0
  6. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 5
  7. Thread travailleur avec Qt en utilisant les signaux et les slots, un article de Christophe Dumez traduit par Thibaut Cuvelier 1
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 94
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 49
  4. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  5. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 16
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. Qt Commercial : Digia organise un webinar gratuit le 27 mars sur la conception d'interfaces utilisateur et d'applications avec le framework 0
Page suivante

Le blog Digia au hasard

Logo

Déploiement d'applications Qt Commercial sur les tablettes Windows 8

Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt qtmobility-1.0-tp
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web