48 explicit SoundCore(QObject *parent =
nullptr);
57 qint64 duration()
const;
65 void setEqSettings(
const EqSettings &settings);
69 int leftVolume()
const;
73 int rightVolume()
const;
89 qint64 elapsed()
const;
105 const QMap<Qmmp::MetaData, QString> &metaData()
const;
113 const QHash<QString, QString> &streamInfo()
const;
122 bool nextTrackAccepted()
const;
134 void setVolume(
int left,
int right);
139 void setMuted(
bool mute);
143 void changeVolume(
int delta);
148 void setVolume(
int volume);
161 void setBalance(
int balance);
167 bool play(
const QString &source,
bool queue =
false, qint64
offset = -1);
179 void seek(qint64 time);
183 QString path()
const;
190 void bufferingProgress(
int progress);
195 void elapsedChanged(qint64 time);
200 void bitrateChanged(
int bitrate);
209 void streamInfoChanged();
213 void trackInfoChanged();
226 void mutedChanged(
bool muted);
231 void volumeChanged(
int volume);
236 void balanceChanged(
int balance);
240 void eqSettingsChanged();
244 void nextTrackRequest();
247 void startNextSource();
248 void startNextEngine();
251 virtual bool event(QEvent *e)
override final;
269 int m_nextState = NO_ENGINE;
QQueue< InputSource * > m_sources
static SoundCore * m_instance
static constexpr wchar_t key[]
The AudioParameters class keeps information about audio settings.
The StateHandler class allows one to track information about playback progress.
QHash< QString, QString > m_streamInfo
The TrackInfo class stores metadata and other information about track.
The EqSettings class helps to work with equalizer settings.
The VolumeHandler class provides volume control access.
The AbstractEngine class provides the base interface class of audio audio engines.
The SoundCore class provides a simple interface for audio playback.