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;
126 QString path()
const;
138 void setVolumePerChannel(
int left,
int right);
143 void setMuted(
bool mute);
147 void changeVolume(
int delta);
152 void setVolume(
int volume);
165 void setBalance(
int balance);
171 bool play(
const QString &source,
bool queue =
false, qint64
offset = -1);
183 void seek(qint64 time);
188 void seekRelative(qint64
offset);
195 void bufferingProgress(
int progress);
200 void elapsedChanged(qint64 time);
205 void bitrateChanged(
int bitrate);
214 void streamInfoChanged();
218 void trackInfoChanged();
231 void mutedChanged(
bool muted);
236 void volumeChanged(
int volume);
241 void balanceChanged(
int balance);
245 void eqSettingsChanged();
249 void nextTrackRequest();
252 void startNextSource();
253 void startNextEngine();
256 virtual bool event(QEvent *e)
override final;
QQueue< InputSource * > m_sources
static SoundCore * m_instance
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.
static constexpr wchar_t key[]
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.