|  | Home · All Namespaces · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# mediaplayer.h Example File
demos/mediaplayer/mediaplayer.h

     /****************************************************************************
     **
     ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
     ** Contact: Qt Software Information (qt-info@nokia.com)
     **
     ** This file is part of the demonstration applications of the Qt Toolkit.
     **
     ** Commercial Usage
     ** Licensees holding valid Qt Commercial licenses may use this file in
     ** accordance with the Qt Commercial License Agreement provided with the
     ** Software or, alternatively, in accordance with the terms contained in
     ** a written agreement between you and Nokia.
     **
     **
     ** GNU General Public License Usage
     ** Alternatively, this file may be used under the terms of the GNU
     ** General Public License versions 2.0 or 3.0 as published by the Free
     ** Software Foundation and appearing in the file LICENSE.GPL included in
     ** the packaging of this file.  Please review the following information
     ** to ensure GNU General Public Licensing requirements will be met:
     ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
     ** http://www.gnu.org/copyleft/gpl.html.  In addition, as a special
     ** exception, Nokia gives you certain additional rights. These rights
     ** are described in the Nokia Qt GPL Exception version 1.3, included in
     ** the file GPL_EXCEPTION.txt in this package.
     **
     ** Qt for Windows(R) Licensees
     ** As a special exception, Nokia, as the sole copyright holder for Qt
     ** Designer, grants users of the Qt/Eclipse Integration plug-in the
     ** right for the Qt/Eclipse Integration to link to functionality
     ** provided by Qt Designer and its related libraries.
     **
     ** If you are unsure which license is appropriate for your use, please
     ** contact the sales department at qt-sales@nokia.com.
     **
     ***************************************************************************/

     #ifndef MEDIALAYER_H
     #define MEDIAPLAYER_H

     #include <QtGui/QWidget>
     #include <QtGui/QApplication>
     #include <QtCore/QTimerEvent>
     #include <QtGui/QShowEvent>
     #include <QtGui/QIcon>
     #include <QtCore/QHash>

     #include <phonon>
     class QThread;
     class QPushButton;
     class QLabel;
     class QSlider;
     class QTextEdit;
     class QMenu;
     class Ui_settings;

     class MediaPlayer :
                 public QWidget
     {
         Q_OBJECT
     public:
         MediaPlayer(const QString &);
     public slots:
         void openFile();
         void pause();
         void play();
         void rewind();
         void forward();
         void setVolume(int);
         void dragEnterEvent(QDragEnterEvent *e);
         void dragMoveEvent(QDragMoveEvent *e);
         void dropEvent(QDropEvent *e);
         void handleDrop(QDropEvent *e);
         void setFile(const QString &text);
         void initVideoWindow();
         void initSettingsDialog();
         void updateEffect();
         void updateInfo();
         void updateTime();
         void finished();
         void scaleChanged(QAction *);
         void aspectChanged(QAction *);
         void playPause();

     private slots:
         void setAspect(int);
         void setScale(int);
         void setSaturation(int);
         void setContrast(int);
         void setHue(int);
         void setBrightness(int);
         void stateChanged(Phonon::State newstate, Phonon::State oldstate);
         void effectChanged();
         void showSettingsDialog();
         void showContextMenu(const QPoint &);
         void bufferStatus(int percent);
         void openUrl();
         void configureEffect();

     private:
         QIcon playIcon;
         QIcon pauseIcon;
         QPixmap volumeIcon;
         QPixmap mutedIcon;
         QMenu *fileMenu;
         QPushButton *playButton;
         QPushButton *rewindButton;
         QPushButton *forwardButton;
         Phonon::SeekSlider *slider;
         QLabel *volumeLabel;
         QLabel *timeLabel;
         QLabel *progressLabel;
         QSlider *volume;
         QSlider *m_hueSlider;
         QSlider *m_satSlider;
         QSlider *m_contSlider;
         QLabel *info;
         long duration;
         QHash <QString, QWidget*> propertyControllers;
         Phonon::Effect *nextEffect;
         QDialog *settingsDialog;
         Ui_settings *ui;

         QWidget m_videoWindow;
         Phonon::MediaObject m_MediaObject;
         Phonon::AudioOutput m_AudioOutput;
         Phonon::VideoWidget *m_videoWidget;
         Phonon::Path m_audioOutputPath;
     };

     #endif //MEDIAPLAYER_H