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  · 

QMediaControlNotifier Class Reference
[QtMediaModule]

The QMediaControlNotifier class watches a media content object for the availability of a given media control. More...

    #include <QMediaControlNotifier>

Inherits QObject.

Public Functions

  • 29 public functions inherited from QObject

Public Slots

  • 1 public slot inherited from QObject

Signals

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public type inherited from QObject
  • 4 static public members inherited from QObject
  • 7 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

The QMediaControlNotifier class watches a media content object for the availability of a given media control.

When a control becomes available for the media content object the class emits a valid() signal. Similarly the class emits an invalid() signal when the control is not available.

The valid() signal indicates that the control for the media content object can be constructed and used immediately. The invalid() signal indicates that the control cannot be constructed and previously constructed controls of the same type for the media content object should no longer be used.

The following example defines a simple volume settings player object class that uses the QMediaControlNotifier and QMediaControl classes.

    class VolumeSettings : public QObject
    {
        Q_OBJECT
    public:
        VolumeSettings( QObject* parent = 0 )
            : QObject( parent ), control( 0 )
        {
            notifier = new QMediaControlNotifier( QMediaControl::name(), this );
            connect( notifier, SIGNAL(valid()), this, SLOT(activate()) );
            connect( notifier, SIGNAL(invalid()), this, SLOT(deactivate()) );
        }

        void setVolume( int volume )
        {
            if ( control )
                control->setVolume( volume );
        }

By convention all media controls have a static member function that returns a QString containing a name that identifies the control.

    public slots:
        void setMediaContent( QMediaContent* content )
        {
            notifier->setMediaContent( content );
        }

If a class contains other related player objects, rather than calling setMediaContent() directly on each, the notifier and related player objects could be grouped together using the QMediaContentContext class.

    private slots:
        void activate()
        {
            control = new QMediaControl( notifier->content() );
        }

        void deactivate()
        {
            delete control;
            control = 0;
        }

    private:
        QMediaControlNotifier *notifier;
        QMediaControl *control;
    };

When a media control becomes invalid the results of interacting with that control are undefined. For player objects it is common practice to delete and set to null invalid control member variables.

QMediaControlNotifier is a player object.

See also QMediaContent.


Member Function Documentation

QMediaControlNotifier::QMediaControlNotifier ( const QString & control, QObject * parent = 0 )

Constructs a control notifier to watch for the availability of control. By convention all controls have a static member function that returns a QString containing a name that identifies the control.

    QMediaControlNotifier *notifier = new QMediaControlNotifier( QMediaVideoControl::name(), this );

The parent argument is passed to the QObject constructor.

QMediaControlNotifier::~QMediaControlNotifier ()

Destroys the notifier.

QMediaContent * QMediaControlNotifier::content () const

Returns the media content which the notifier is currently watching.

void QMediaControlNotifier::invalid ()   [signal]

The control that the notifier is watching for is no longer avaiable and controls of that type previously constructed for the media content object are invalid.

void QMediaControlNotifier::setMediaContent ( QMediaContent * content )   [slot]

Sets content as the media content to watch.

If the control that the notifier is watching for is currently vaild for the previous media content object, an invalid() signal will be emitted.

void QMediaControlNotifier::valid ()   [signal]

The control that the notifier is watching for is available and controls constructed of that type for the media content object will be valid.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 82
  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. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 6
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 qtextended4.4
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