QRadioData Class

The QRadioData class provides interfaces to the RDS functionality of the system radio. More...

Header: #include <QRadioData>
qmake: QT += multimedia
Inherits: QObject and QMediaBindableInterface

Public Types

enum Error { NoError, ResourceError, OpenError, OutOfRangeError }
enum ProgramType { Undefined, News, CurrentAffairs, Information, ..., College }

Properties

  • 1 property inherited from QObject

Public Functions

QRadioData(QMediaObject *mediaObject, QObject *parent = nullptr)
virtual ~QRadioData()
QMultimedia::AvailabilityStatus availability() const
QRadioData::Error error() const
QString errorString() const
bool isAlternativeFrequenciesEnabled() const
QRadioData::ProgramType programType() const
QString programTypeName() const
QString radioText() const
QString stationId() const
QString stationName() const

Reimplemented Public Functions

virtual QMediaObject *mediaObject() const override

Public Slots

  • 1 public slot inherited from QObject

Signals

void alternativeFrequenciesEnabledChanged(bool enabled)
void error(QRadioData::Error error)
void programTypeChanged(QRadioData::ProgramType programType)
void programTypeNameChanged(QString programTypeName)
void radioTextChanged(QString radioText)
void stationIdChanged(QString stationId)
void stationNameChanged(QString stationName)

Static Public Members

const QMetaObject staticMetaObject
  • 9 static public members inherited from QObject

Reimplemented Protected Functions

virtual bool setMediaObject(QMediaObject *mediaObject) override

Protected Variables

QRadioDataPrivate *d_ptr

Detailed Description

The QRadioData class provides interfaces to the RDS functionality of the system radio.

The radio data object will emit signals for any changes in radio data. You can enable or disable alternative frequency with setAlternativeFrequenciesEnabled().

You can get a QRadioData instance fromt the radioData property from a QRadioTuner instance.

radio = new QRadioTuner;
radioData = radio->radioData();

Alternatively, you can pass an instance of QRadioTuner to the constructor to QRadioData.

See also Radio Overview.

Member Type Documentation

enum QRadioData::Error

Enumerates radio data error conditions.

ConstantValueDescription
QRadioData::NoError0No errors have occurred.
QRadioData::ResourceError1There is no radio service available.
QRadioData::OpenError2Unable to open radio device.
QRadioData::OutOfRangeError3An attempt to set a frequency or band that is not supported by radio device.

enum QRadioData::ProgramType

This property holds the type of the currently playing program as transmitted by the radio station. The value can be any one of the values defined in the table below.

ConstantValue
QRadioData::Undefined0
QRadioData::News1
QRadioData::CurrentAffairs2
QRadioData::Information3
QRadioData::Sport4
QRadioData::Education5
QRadioData::Drama6
QRadioData::Culture7
QRadioData::Science8
QRadioData::Varied9
QRadioData::PopMusic10
QRadioData::RockMusic11
QRadioData::EasyListening12
QRadioData::LightClassical13
QRadioData::SeriousClassical14
QRadioData::OtherMusic15
QRadioData::Weather16
QRadioData::Finance17
QRadioData::ChildrensProgrammes18
QRadioData::SocialAffairs19
QRadioData::Religion20
QRadioData::PhoneIn21
QRadioData::Travel22
QRadioData::Leisure23
QRadioData::JazzMusic24
QRadioData::CountryMusic25
QRadioData::NationalMusic26
QRadioData::OldiesMusic27
QRadioData::FolkMusic28
QRadioData::Documentary29
QRadioData::AlarmTest30
QRadioData::Alarm31
QRadioData::Talk32
QRadioData::ClassicRock33
QRadioData::AdultHits34
QRadioData::SoftRock35
QRadioData::Top4036
QRadioData::Soft37
QRadioData::Nostalgia38
QRadioData::Classical39
QRadioData::RhythmAndBlues40
QRadioData::SoftRhythmAndBlues41
QRadioData::Language42
QRadioData::ReligiousMusic43
QRadioData::ReligiousTalk44
QRadioData::Personality45
QRadioData::Public46
QRadioData::College47

Property Documentation

alternativeFrequenciesEnabled : bool

Is Alternative Frequency currently enabled

Access functions:

bool isAlternativeFrequenciesEnabled() const
void setAlternativeFrequenciesEnabled(bool enabled)

Notifier signal:

programType : const ProgramType

Current Program Type

Access functions:

QRadioData::ProgramType programType() const

Notifier signal:

void programTypeChanged(QRadioData::ProgramType programType)

programTypeName : const QString

Current Program Type Name

Access functions:

QString programTypeName() const

Notifier signal:

void programTypeNameChanged(QString programTypeName)

radioText : const QString

Current Radio Text

Access functions:

QString radioText() const

Notifier signal:

void radioTextChanged(QString radioText)

stationId : const QString

Current Program Identification

Access functions:

QString stationId() const

Notifier signal:

void stationIdChanged(QString stationId)

stationName : const QString

Current Program Service

Access functions:

QString stationName() const

Notifier signal:

void stationNameChanged(QString stationName)

Member Function Documentation

QRadioData::QRadioData(QMediaObject *mediaObject, QObject *parent = nullptr)

Constructs a radio data based on a mediaObject and parent.

The mediaObject should be an instance of QRadioTuner. It is preferable to use the radioData property on a QRadioTuner instance to get an instance of QRadioData.

During construction, this class is bound to the mediaObject using the bind() method.

[virtual] QRadioData::~QRadioData()

Destroys a radio data.

[signal] void QRadioData::alternativeFrequenciesEnabledChanged(bool enabled)

Signals that automatically tuning to alternative frequencies has been enabled or disabled according to enabled.

Note: Notifier signal for property alternativeFrequenciesEnabled.

QMultimedia::AvailabilityStatus QRadioData::availability() const

Returns the availability of the radio data service.

A long as there is a media service which provides radio functionality, then the availability will be that of the radio tuner.

QRadioData::Error QRadioData::error() const

Returns the error state of a radio data.

See also errorString().

[signal] void QRadioData::error(QRadioData::Error error)

Signals that an error occurred.

Note: Signal error is overloaded in this class. To connect to this signal by using the function pointer syntax, Qt provides a convenient helper for obtaining the function pointer as shown in this example:

connect(radioData, QOverload<QRadioData::Error>::of(&QRadioData::error),
    [=](QRadioData::Error error){ /* ... */ });

QString QRadioData::errorString() const

Returns a description of a radio data's error state.

See also error().

[override virtual] QMediaObject *QRadioData::mediaObject() const

Reimplemented from QMediaBindableInterface::mediaObject().

See also setMediaObject().

[signal] void QRadioData::programTypeChanged(QRadioData::ProgramType programType)

Signals that the Program Type code has changed to programType

Note: Notifier signal for property programType.

[signal] void QRadioData::programTypeNameChanged(QString programTypeName)

Signals that the Program Type Name has changed to programTypeName

Note: Notifier signal for property programTypeName.

[signal] void QRadioData::radioTextChanged(QString radioText)

Signals that the Radio Text property has changed to radioText

Note: Notifier signal for property radioText.

[override virtual protected] bool QRadioData::setMediaObject(QMediaObject *mediaObject)

Reimplemented from QMediaBindableInterface::setMediaObject().

See also mediaObject().

[signal] void QRadioData::stationIdChanged(QString stationId)

Signals that the Program Identification code has changed to stationId

Note: Notifier signal for property stationId.

[signal] void QRadioData::stationNameChanged(QString stationName)

Signals that the Program Service has changed to stationName

Note: Notifier signal for property stationName.

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.