summaryrefslogtreecommitdiff
path: root/exampleCode/player/mediaplayer.h
diff options
context:
space:
mode:
Diffstat (limited to 'exampleCode/player/mediaplayer.h')
-rw-r--r--exampleCode/player/mediaplayer.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/exampleCode/player/mediaplayer.h b/exampleCode/player/mediaplayer.h
new file mode 100644
index 0000000..8dd0602
--- /dev/null
+++ b/exampleCode/player/mediaplayer.h
@@ -0,0 +1,164 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** GNU General Public License Usage
+** This file is licensed under GPL v2.
+**
+**
+** $QT_END_LICENSE$
+**
+***************************************************************************/
+
+#ifndef MEDIALAYER_H
+#define MEDIAPLAYER_H
+
+#include <QtGui/QWidget>
+#include <QtGui/QApplication>
+#include <QtCore/QTimerEvent>
+#include <QtGui/QShowEvent>
+#include <QtGui/QIcon>
+#include <QtCore/QBasicTimer>
+#include <QtGui/QAction>
+
+#include <phonon/audiooutput.h>
+#include <phonon/backendcapabilities.h>
+#include <phonon/effect.h>
+#include <phonon/effectparameter.h>
+#include <phonon/effectwidget.h>
+#include <phonon/mediaobject.h>
+#include <phonon/seekslider.h>
+#include <phonon/videowidget.h>
+#include <phonon/volumeslider.h>
+
+QT_BEGIN_NAMESPACE
+class QPushButton;
+class QLabel;
+class QSlider;
+class QTextEdit;
+class QMenu;
+class Ui_settings;
+QT_END_NAMESPACE
+
+class MediaPlayer;
+
+class MediaVideoWidget : public Phonon::VideoWidget
+{
+ Q_OBJECT
+
+public:
+ MediaVideoWidget(MediaPlayer *player, QWidget *parent = 0);
+
+public slots:
+ // Over-riding non-virtual Phonon::VideoWidget slot
+ void setFullScreen(bool);
+
+signals:
+ void fullScreenChanged(bool);
+
+protected:
+ void mouseDoubleClickEvent(QMouseEvent *e);
+ void keyPressEvent(QKeyEvent *e);
+ bool event(QEvent *e);
+ void timerEvent(QTimerEvent *e);
+ void dropEvent(QDropEvent *e);
+ void dragEnterEvent(QDragEnterEvent *e);
+
+private:
+ MediaPlayer *m_player;
+ QBasicTimer m_timer;
+ QAction m_action;
+};
+
+class MediaPlayer :
+ public QWidget
+{
+ Q_OBJECT
+public:
+ MediaPlayer(QString AppName);
+
+ void dragEnterEvent(QDragEnterEvent *e);
+ void dragMoveEvent(QDragMoveEvent *e);
+ void dropEvent(QDropEvent *e);
+ void handleDrop(QDropEvent *e);
+ void setFile(const QString &text);
+ void setLocation(const QString &location);
+ void initVideoWindow();
+ void initSettingsDialog();
+ void setVolume(qreal volume);
+ void setSmallScreen(bool smallScreen);
+
+ QPushButton *playButton;
+
+signals:
+ void MediaStateChanged(Phonon::State newstate);
+public slots:
+ void openFile();
+ void rewind();
+ void forward();
+ void updateInfo();
+ void updateTime();
+ void finished();
+ void play();
+ void stop();
+ void scaleChanged(QAction *);
+ void aspectChanged(QAction *);
+
+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& point);
+ void bufferStatus(int percent);
+ void openUrl();
+#ifdef Q_OS_SYMBIAN
+ void selectIAP();
+#endif
+ void openRamFile();
+ void configureEffect();
+ void hasVideoChanged(bool);
+
+private:
+ bool playPauseForDialog();
+#ifdef Q_OS_SYMBIAN
+ void selectIAPL();
+#endif
+
+ QIcon playIcon;
+ QIcon pauseIcon;
+ QMenu *fileMenu;
+ QPushButton *rewindButton;
+ QPushButton *forwardButton;
+ Phonon::SeekSlider *slider;
+ QLabel *timeLabel;
+ QLabel *progressLabel;
+ Phonon::VolumeSlider *volume;
+ QSlider *m_hueSlider;
+ QSlider *m_satSlider;
+ QSlider *m_contSlider;
+ QLabel *info;
+ Phonon::Effect *nextEffect;
+ QDialog *settingsDialog;
+ Ui_settings *ui;
+ QAction *m_fullScreenAction;
+
+ QWidget m_videoWindow;
+ Phonon::MediaObject m_MediaObject;
+ Phonon::AudioOutput m_AudioOutput;
+ MediaVideoWidget *m_videoWidget;
+ Phonon::Path m_audioOutputPath;
+ bool m_smallScreen;
+};
+
+#endif //MEDIAPLAYER_H