summaryrefslogtreecommitdiffstats
path: root/src/imports/multimedia/qdeclarativeaudio_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/multimedia/qdeclarativeaudio_p.h')
-rw-r--r--src/imports/multimedia/qdeclarativeaudio_p.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/imports/multimedia/qdeclarativeaudio_p.h b/src/imports/multimedia/qdeclarativeaudio_p.h
index d4840f207..d8363969d 100644
--- a/src/imports/multimedia/qdeclarativeaudio_p.h
+++ b/src/imports/multimedia/qdeclarativeaudio_p.h
@@ -48,6 +48,7 @@
#include <QtCore/qbasictimer.h>
#include <QtQml/qqmlparserstatus.h>
#include <QtQml/qqml.h>
+#include <QtQml/qjsvalue.h>
#include <qmediaplayer.h>
@@ -58,6 +59,7 @@ class QMediaPlayerControl;
class QMediaService;
class QMediaServiceProvider;
class QMetaDataReaderControl;
+class QDeclarativePlaylist;
class QDeclarativeMediaBaseAnimation;
class QDeclarativeMediaMetaData;
class QMediaAvailabilityControl;
@@ -66,6 +68,7 @@ class QDeclarativeAudio : public QObject, public QQmlParserStatus
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
+ Q_PROPERTY(QDeclarativePlaylist *playlist READ playlist WRITE setPlaylist NOTIFY playlistChanged REVISION 1)
Q_PROPERTY(int loops READ loopCount WRITE setLoopCount NOTIFY loopCountChanged)
Q_PROPERTY(PlaybackState playbackState READ playbackState NOTIFY playbackStateChanged)
Q_PROPERTY(bool autoPlay READ autoPlay WRITE setAutoPlay NOTIFY autoPlayChanged)
@@ -85,11 +88,13 @@ class QDeclarativeAudio : public QObject, public QQmlParserStatus
Q_PROPERTY(QDeclarativeMediaMetaData *metaData READ metaData CONSTANT)
Q_PROPERTY(QObject *mediaObject READ mediaObject NOTIFY mediaObjectChanged SCRIPTABLE false DESIGNABLE false)
Q_PROPERTY(Availability availability READ availability NOTIFY availabilityChanged)
+ Q_PROPERTY(AudioRole audioRole READ audioRole WRITE setAudioRole NOTIFY audioRoleChanged REVISION 1)
Q_ENUMS(Status)
Q_ENUMS(Error)
Q_ENUMS(Loop)
Q_ENUMS(PlaybackState)
Q_ENUMS(Availability)
+ Q_ENUMS(AudioRole)
Q_INTERFACES(QQmlParserStatus)
public:
enum Status
@@ -134,6 +139,19 @@ public:
ResourceMissing = QMultimedia::ResourceError
};
+ enum AudioRole {
+ UnknownRole = QAudio::UnknownRole,
+ AccessibilityRole = QAudio::AccessibilityRole,
+ AlarmRole = QAudio::AlarmRole,
+ GameRole = QAudio::GameRole,
+ MusicRole = QAudio::MusicRole,
+ NotificationRole = QAudio::NotificationRole,
+ RingtoneRole = QAudio::RingtoneRole,
+ SonificationRole = QAudio::SonificationRole,
+ VideoRole = QAudio::VideoRole,
+ VoiceCommunicationRole = QAudio::VoiceCommunicationRole
+ };
+
QDeclarativeAudio(QObject *parent = 0);
~QDeclarativeAudio();
@@ -152,9 +170,15 @@ public:
Availability availability() const;
+ AudioRole audioRole() const;
+ void setAudioRole(AudioRole audioRole);
+
QUrl source() const;
void setSource(const QUrl &url);
+ QDeclarativePlaylist *playlist() const;
+ void setPlaylist(QDeclarativePlaylist *playlist);
+
int loopCount() const;
void setLoopCount(int loopCount);
@@ -191,7 +215,11 @@ public Q_SLOTS:
void stop();
void seek(int position);
+ Q_REVISION(1) QJSValue supportedAudioRoles() const;
+
Q_SIGNALS:
+ Q_REVISION(1) void playlistChanged();
+
void sourceChanged();
void autoLoadChanged();
void loopCountChanged();
@@ -218,6 +246,8 @@ Q_SIGNALS:
void seekableChanged();
void playbackRateChanged();
+ Q_REVISION(1) void audioRoleChanged();
+
void availabilityChanged(Availability availability);
void errorChanged();
@@ -229,20 +259,24 @@ private Q_SLOTS:
void _q_error(QMediaPlayer::Error);
void _q_availabilityChanged(QMultimedia::AvailabilityStatus);
void _q_statusChanged();
+ void _q_mediaChanged(const QMediaContent&);
private:
Q_DISABLE_COPY(QDeclarativeAudio)
+ QDeclarativePlaylist *m_playlist;
bool m_autoPlay;
bool m_autoLoad;
bool m_loaded;
bool m_muted;
bool m_complete;
+ bool m_emitPlaylistChanged;
int m_loopCount;
int m_runningCount;
int m_position;
qreal m_vol;
qreal m_playbackRate;
+ AudioRole m_audioRole;
QMediaPlayer::State m_playbackState;
QMediaPlayer::MediaStatus m_status;