音频 Helper

[English]

  • 公共头文件: #include "brookesia/service_helper/audio.hpp"

概述

本页用于查看 Audio helper 的原始 Doxygen API,包括公共类型、枚举、方法与相关宏定义。

API 参考

Header File

Classes

class Audio : public esp_brookesia::service::helper::Base<Audio>

Helper schema definitions for the audio service.

Public Types

enum class PlayControlAction : uint8_t

Playback control actions.

Values:

enumerator Pause
enumerator Resume
enumerator Stop
enum class PlayState : uint8_t

Playback states.

Values:

enumerator Idle
enumerator Playing
enumerator Paused
enum class CodecFormat : uint8_t

Codec related configurations.

Values:

enumerator PCM
enumerator OPUS
enumerator G711A
enumerator Max
enum class FunctionId : uint8_t

Audio service function identifiers.

Values:

enumerator SetPlaybackConfig
enumerator SetEncoderStaticConfig
enumerator SetDecoderStaticConfig
enumerator SetAFE_Config
enumerator GetAFE_WakeWords
enumerator PauseAFE_WakeupEnd
enumerator ResumeAFE_WakeupEnd
enumerator PlayUrl
enumerator PlayUrls
enumerator PlayControl
enumerator SetVolume
enumerator GetVolume
enumerator SetMute
enumerator StartEncoder
enumerator StopEncoder
enumerator PauseEncoder
enumerator ResumeEncoder
enumerator StartDecoder
enumerator StopDecoder
enumerator FeedDecoderData
enumerator ResetData
enumerator Max
enum class EventId : uint8_t

Audio service event identifiers.

Values:

enumerator PlayStateChanged
enumerator AFE_EventHappened
enumerator EncoderDataReady
enumerator RecorderDataReady
enumerator Max
enum class FunctionSetPlaybackConfigParam : uint8_t

Parameter keys for FunctionId::SetPlaybackConfig.

Values:

enumerator Config
enum class FunctionSetEncoderStaticConfigParam : uint8_t

Parameter keys for FunctionId::SetEncoderStaticConfig.

Values:

enumerator Config
enum class FunctionSetDecoderStaticConfigParam : uint8_t

Parameter keys for FunctionId::SetDecoderStaticConfig.

Values:

enumerator Config
enum class FunctionSetAFE_ConfigParam : uint8_t

Parameter keys for FunctionId::SetAFE_Config.

Values:

enumerator Config
enum class FunctionPlayUrlParam : uint8_t

Parameter keys for FunctionId::PlayUrl.

Values:

enumerator Url
enumerator Config
enum class FunctionPlayUrlsParam : uint8_t

Parameter keys for FunctionId::PlayUrls.

Values:

enumerator Urls
enumerator Config
enum class FunctionPlayControlParam : uint8_t

Parameter keys for FunctionId::PlayControl.

Values:

enumerator Action
enum class FunctionSetVolumeParam : uint8_t

Parameter keys for FunctionId::SetVolume.

Values:

enumerator Volume
enum class FunctionSetMuteParam : uint8_t

Parameter keys for FunctionId::SetMute.

Values:

enumerator Enable
enum class FunctionStartEncoderParam : uint8_t

Parameter keys for FunctionId::StartEncoder.

Values:

enumerator Config
enum class FunctionStartDecoderParam : uint8_t

Parameter keys for FunctionId::StartDecoder.

Values:

enumerator Config
enum class FunctionFeedDecoderDataParam : uint8_t

Parameter keys for FunctionId::FeedDecoderData.

Values:

enumerator Data
enum class EventPlayStateChangedParam : uint8_t

Item keys for EventId::PlayStateChanged.

Values:

enumerator State
enum class EventAFE_EventHappenedParam : uint8_t

Item keys for EventId::AFE_EventHappened.

Values:

enumerator Event
enum class EventEncoderDataReadyParam : uint8_t

Item keys for EventId::EncoderDataReady.

Values:

enumerator Data
enum class EventRecorderDataReadyParam : uint8_t

Item keys for EventId::RecorderDataReady.

Values:

enumerator Data

Public Static Functions

static inline constexpr std::string_view get_name()

Service name used by ServiceManager.

返回

std::string_view Stable service name.

static inline std::span<const FunctionSchema> get_function_schemas()

Get function schemas exported by audio service.

返回

std::span<const FunctionSchema> Static function schema span.

static inline std::span<const EventSchema> get_event_schemas()

Get event schemas exported by audio service.

返回

std::span<const EventSchema> Static event schema span.

struct AFE_Config
struct AFE_VAD_Config

AFE related configurations.

Public Members

uint8_t mode = 4

VAD mode

uint32_t min_speech_ms = 64

Minimum speech duration

uint32_t min_noise_ms = 1000

Minimum noise duration

struct AFE_WakeNetConfig

Public Members

std::string model_partition_label = "model"

Wake model partition label

std::string mn_language = "cn"

Wake model language

uint32_t start_timeout_ms = 30000

Timeout before wake start

uint32_t end_timeout_ms = 10000

Timeout before wake end

struct CodecGeneralConfig

Public Members

uint8_t channels

Number of audio channels (1-4)

uint8_t sample_bits

Bit depth in bits (e.g., 8, 16, 24, 32)

uint32_t sample_rate

Sample rate in Hz (e.g., 8000, 16000, 24000, 32000, 44100, 48000)

uint8_t frame_duration

Frame duration in milliseconds

struct DecoderDynamicConfig

Public Members

CodecFormat type

Decoder codec type

CodecGeneralConfig general

Decoder common codec settings

struct DecoderStaticConfig

Decoder related configurations.

struct EncoderDynamicConfig

Public Members

CodecFormat type

Encoder codec type

CodecGeneralConfig general

Encoder common codec settings

std::variant<std::monostate, EncoderExtraConfigOpus> extra = std::monostate{}

Optional codec-specific settings

uint32_t fetch_interval_ms = 10

Encoder fetch interval in milliseconds

uint32_t fetch_data_size = 4096

Encoder fetch size in bytes

struct EncoderExtraConfigOpus

Public Members

bool enable_vbr

Enable Variable Bit Rate (VBR)

uint32_t bitrate

Bitrate in bps

struct EncoderStaticConfig

Encoder related configurations.

struct MixerGainConfig

Mixer related configurations.

Public Members

float initial_gain

Initial gain value

float target_gain

Target gain value

int transition_time

Transition duration in milliseconds

struct PlaybackConfig

Playback related configurations.

struct PlayUrlConfig

Runtime options for PlayUrl and PlayUrls.

Public Members

bool interrupt = true

Whether current playback can be interrupted

uint32_t delay_ms = 0

Delay before playback starts

uint32_t loop_count = 0

Number of extra loops

uint32_t loop_interval_ms = 0

Interval between loops

uint32_t timeout_ms = 0

Timeout for finishing playback