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)

Reimplemented Protected Functions

virtual bool setMediaObject(QMediaObject *mediaObject) override

Additional Inherited Members

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.

Constant Value Description
QRadioData::NoError 0 No errors have occurred.
QRadioData::ResourceError 1 There is no radio service available.
QRadioData::OpenError 2 Unable to open radio device.
QRadioData::OutOfRangeError 3 An 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.

Constant Value
QRadioData::Undefined 0
QRadioData::News 1
QRadioData::CurrentAffairs 2
QRadioData::Information 3
QRadioData::Sport 4
QRadioData::Education 5
QRadioData::Drama 6
QRadioData::Culture 7
QRadioData::Science 8
QRadioData::Varied 9
QRadioData::PopMusic 10
QRadioData::RockMusic 11
QRadioData::EasyListening 12
QRadioData::LightClassical 13
QRadioData::SeriousClassical 14
QRadioData::OtherMusic 15
QRadioData::Weather 16
QRadioData::Finance 17
QRadioData::ChildrensProgrammes 18
QRadioData::SocialAffairs 19
QRadioData::Religion 20
QRadioData::PhoneIn 21
QRadioData::Travel 22
QRadioData::Leisure 23
QRadioData::JazzMusic 24
QRadioData::CountryMusic 25
QRadioData::NationalMusic 26
QRadioData::OldiesMusic 27
QRadioData::FolkMusic 28
QRadioData::Documentary 29
QRadioData::AlarmTest 30
QRadioData::Alarm 31
QRadioData::Talk 32
QRadioData::ClassicRock 33
QRadioData::AdultHits 34
QRadioData::SoftRock 35
QRadioData::Top40 36
QRadioData::Soft 37
QRadioData::Nostalgia 38
QRadioData::Classical 39
QRadioData::RhythmAndBlues 40
QRadioData::SoftRhythmAndBlues 41
QRadioData::Language 42
QRadioData::ReligiousMusic 43
QRadioData::ReligiousTalk 44
QRadioData::Personality 45
QRadioData::Public 46
QRadioData::College 47

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.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support