Alexa Auto SDK  4.3
Public Types | Public Member Functions | List of all members
aace::alexa::EqualizerController Class Referenceabstract

Public Types

using EqualizerBand = aace::alexa::EqualizerControllerEngineInterface::EqualizerBand
using EqualizerBandLevel = aace::alexa::EqualizerControllerEngineInterface::EqualizerBandLevel

Public Member Functions

virtual void setBandLevels (const std::vector< EqualizerBandLevel > &bandLevels)=0
virtual std::vector< EqualizerBandLevelgetBandLevels ()=0
void localSetBandLevels (const std::vector< EqualizerBandLevel > &bandLevels)
void localAdjustBandLevels (const std::vector< EqualizerBandLevel > &bandAdjustments)
void localResetBands (const std::vector< EqualizerBand > &bands={})

Detailed Description

EqualizerController should be extended to use Alexa to control device equalizer settings. It supports adjusting levels of amplitude gain in decibels (dB) for a 3-band equalizer with a 1dB level of precision.

In addition to performing the audio equalization, the platform implementation is also responsible for the following:

Device equalizer settings are configurable. See aace::alexa::config::AlexaConfiguration::createEqualizerControllerConfig for details on configuring supported bands, default state, and supported decibel ranges.

This platform interface is deprecated. Use the Alexa Auto Services Bridge (AASB) message broker to publish and subscribe to AASB messages instead.
See also

Member Typedef Documentation

◆ EqualizerBand

Describes the equalizer bands supported by Alexa. The platform implementation may support a subset of these.

See also

◆ EqualizerBandLevel

Describes the level of gain of a particular equalizer band as an integer dB value. This is an aace::alexa::EqualizerController::EqualizerBand and int pair.

See also

Member Function Documentation

◆ setBandLevels()

virtual void aace::alexa::EqualizerController::setBandLevels ( const std::vector< EqualizerBandLevel > &  bandLevels)
pure virtual

Notifies the platform implementation to apply the provided gain settings to the corresponding equalizer bands.

Calling EqualizerController::localSetBandLevels, EqualizerController::localAdjustBandLevels, or EqualizerController::localResetBands from inside this function will cause deadlock.
[in]bandLevelsThe equalizer bands and their gain settings to apply as integer dB values.

◆ getBandLevels()

virtual std::vector<EqualizerBandLevel> aace::alexa::EqualizerController::getBandLevels ( )
pure virtual

Retrieves the current equalizer gain settings on the device for each supported band. If unsupported band levels are provided, the Engine will truncate levels to the configured range.

The supported equalizer bands and their current gain settings as integer dB values.

◆ localSetBandLevels()

void aace::alexa::EqualizerController::localSetBandLevels ( const std::vector< EqualizerBandLevel > &  bandLevels)

Notifies the Engine that gain levels for one or more equalizer bands are being set directly on the device. If unsupported levels are provided, the Engine will truncate the settings to the configured range.

[in]bandLevelsThe equalizer bands to change and their gain settings as integer dB values.

◆ localAdjustBandLevels()

void aace::alexa::EqualizerController::localAdjustBandLevels ( const std::vector< EqualizerBandLevel > &  bandAdjustments)

Notifies the Engine that relative adjustments to equalizer band gain levels are being made directly on the device. If adjustments put the band level settings beyond the configured dB range, the Engine will truncate the settings to the configured range.

[in]bandAdjustmentsThe equalizer bands to adjust and their relative gain adjustments as integer dB values.

◆ localResetBands()

void aace::alexa::EqualizerController::localResetBands ( const std::vector< EqualizerBand > &  bands = {})

Notifies the Engine that the gain levels for the equalizer bands are being reset to their defaults.

[in]bandsThe equalizer bands to reset. Empty bands resets all supported equalizer bands.

Alexa Auto SDK 4.3 - Copyright 2017-2023, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0