diff options
author | christian linke <christian.linke@bmw.de> | 2012-10-22 16:41:52 +0200 |
---|---|---|
committer | christian linke <christian.linke@bmw.de> | 2012-10-22 16:41:52 +0200 |
commit | 2ba76c5b35f66dc05839d3fd926519f4e7f2a6b7 (patch) | |
tree | 468a16f8572369dcfdbc9267b7e34edc6bcfa4e3 /exampleCode/player/mediaplayer.h | |
parent | cdbb09b901c695ba55827b53ee43549a4b0b10f6 (diff) | |
download | audiomanager-2ba76c5b35f66dc05839d3fd926519f4e7f2a6b7.tar.gz |
* adding a sample player to the project.
Signed-off-by: christian linke <christian.linke@bmw.de>
Diffstat (limited to 'exampleCode/player/mediaplayer.h')
-rw-r--r-- | exampleCode/player/mediaplayer.h | 164 |
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 |