ESPオーディオ

ESP Audio

このコンポーネントは、いくつかの単純な高レベルAPIを提供します。 これは、標準化されたオーディオ要素の一般的な相互接続に基づくオーディオアプリケーションの迅速な実装を目的としています。

This component provides several simple high level APIs. It is intended for quick implementation of audio applications based on typical interconnections of standardized audio elements.

APIリファレンス

API Reference

ヘッダーファイル

Header File

構造体

Structures
struct esp_audio_state_t

esp_audioステータス情報パラメータ

esp_audio status information parameters

Public Members

esp_audio_status_t status

esp_audioのステータス

Status of esp_audio
audio_err_t err_msg

ステータスはAUDIO_STATUS_ERRORで、err_msgが設定されます

Status is AUDIO_STATUS_ERROR, err_msg will be setup
media_source_type_t media_src

メディアソースタイプ

Media source type

マクロ

Macros
ESP_ERR_AUDIO_BASE

ESPオーディオエラーコードの開始番号

Starting number of ESP audio error codes

タイプ定義

Type Definitions
typedef void (*esp_audio_event_callback)(esp_audio_state_t *audio, void *ctx)
typedef esp_err_t (*audio_volume_set)(void *hd, int vol)
typedef esp_err_t (*audio_volume_get)(void *hd, int *vol)

列挙

Enumerations
enum audio_err_t

Values:

ESP_ERR_AUDIO_NO_ERROR = ESP_OK
ESP_ERR_AUDIO_FAIL = ESP_FAIL
ESP_ERR_AUDIO_NO_INPUT_STREAM = ESP_ERR_AUDIO_BASE + 1
ESP_ERR_AUDIO_NO_OUTPUT_STREAM = ESP_ERR_AUDIO_BASE + 2
ESP_ERR_AUDIO_NO_CODEC = ESP_ERR_AUDIO_BASE + 3
ESP_ERR_AUDIO_HAL_FAIL = ESP_ERR_AUDIO_BASE + 4
ESP_ERR_AUDIO_MEMORY_LACK = ESP_ERR_AUDIO_BASE + 5
ESP_ERR_AUDIO_INVALID_URI = ESP_ERR_AUDIO_BASE + 6
ESP_ERR_AUDIO_INVALID_PATH = ESP_ERR_AUDIO_BASE + 7
ESP_ERR_AUDIO_INVALID_PARAMETER = ESP_ERR_AUDIO_BASE + 8
ESP_ERR_AUDIO_NOT_READY = ESP_ERR_AUDIO_BASE + 9
ESP_ERR_AUDIO_NOT_SUPPORT = ESP_ERR_AUDIO_BASE + 10
ESP_ERR_AUDIO_TIMEOUT = ESP_ERR_AUDIO_BASE + 11
ESP_ERR_AUDIO_ALREADY_EXISTS = ESP_ERR_AUDIO_BASE + 12
ESP_ERR_AUDIO_UNKNOWN = ESP_ERR_AUDIO_BASE + 14
ESP_ERR_AUDIO_OUT_OF_RANGE = ESP_ERR_AUDIO_BASE + 15
ESP_ERR_AUDIO_OPEN = ESP_ERR_AUDIO_BASE + 0x100
ESP_ERR_AUDIO_INPUT = ESP_ERR_AUDIO_BASE + 0x101
ESP_ERR_AUDIO_PROCESS = ESP_ERR_AUDIO_BASE + 0x102
ESP_ERR_AUDIO_OUTPUT = ESP_ERR_AUDIO_BASE + 0x103
ESP_ERR_AUDIO_CLOSE = ESP_ERR_AUDIO_BASE + 0x104
enum esp_audio_status_t

Values:

AUDIO_STATUS_UNKNOWN = 0
AUDIO_STATUS_RUNNING = 1
AUDIO_STATUS_PAUSED = 2
AUDIO_STATUS_STOPPED = 3
AUDIO_STATUS_FINISHED = 4
AUDIO_STATUS_ERROR = 5
enum audio_termination_type_t

Values:

TERMINATION_TYPE_NOW = 0

音声操作はすぐに終了します

Audio operation will be terminated immediately
TERMINATION_TYPE_DONE = 1

終了すると音声操作が停止します

Audio operation will be stopped when finished
TERMINATION_TYPE_MAX
enum esp_audio_prefer_t

Values:

ESP_AUDIO_PREFER_MEM = 0
ESP_AUDIO_PREFER_SPEED = 1
enum media_source_type_t

Values:

MEDIA_SRC_TYPE_NULL = 0
MEDIA_SRC_TYPE_MUSIC_BASE = 0x100
MEDIA_SRC_TYPE_MUSIC_SD = MEDIA_SRC_TYPE_MUSIC_BASE + 1
MEDIA_SRC_TYPE_MUSIC_HTTP = MEDIA_SRC_TYPE_MUSIC_BASE + 2
MEDIA_SRC_TYPE_MUSIC_FLASH = MEDIA_SRC_TYPE_MUSIC_BASE + 3
MEDIA_SRC_TYPE_MUSIC_A2DP = MEDIA_SRC_TYPE_MUSIC_BASE + 4
MEDIA_SRC_TYPE_MUSIC_DLNA = MEDIA_SRC_TYPE_MUSIC_BASE + 5
MEDIA_SRC_TYPE_MUSIC_RAW = MEDIA_SRC_TYPE_MUSIC_BASE + 6
MEDIA_SRC_TYPE_MUSIC_MAX = 0x1FF
MEDIA_SRC_TYPE_TONE_BASE = 0x200
MEDIA_SRC_TYPE_TONE_SD = MEDIA_SRC_TYPE_TONE_BASE + 1
MEDIA_SRC_TYPE_TONE_HTTP = MEDIA_SRC_TYPE_TONE_BASE + 2
MEDIA_SRC_TYPE_TONE_FLASH = MEDIA_SRC_TYPE_TONE_BASE + 3
MEDIA_SRC_TYPE_TONE_MAX = 0x2FF
MEDIA_SRC_TYPE_RESERVE_BASE = 0x800
MEDIA_SRC_TYPE_RESERVE_MAX = 0xFFF

ヘッダーファイル

Header File

関数

Functions
esp_audio_handle_t esp_audio_create(const esp_audio_cfg_t *cfg)

「cfg」パラメータに従ってesp_audioインスタンスを作成します。

Create esp_audio instance according to ‘cfg’ parameter.

この関数は、指定された構成でesp_audioインスタンスを作成します。

This function create an esp_audio instance, at the specified configuration.

Return
  • NULL:エラー
    NULL: Error
  • その他:完全に認証するesp_audioインスタンス
    Others: esp_audio instance fully certifying
Parameters
  • cfg: esp_audio初期化構成を提供します
    cfg: Provide esp_audio initialization configuration

audio_err_t esp_audio_destroy(esp_audio_handle_t handle)

特定のesp_audioインスタンスが破棄されます。

Specific esp_audio instance will be destroyed.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功した場合
    ESP_ERR_AUDIO_NO_ERROR: on success
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 解放するインスタンスがない場合は、最初にesp_audio_initを呼び出します
    ESP_ERR_AUDIO_INVALID_PARAMETER: no instance to free, call esp_audio_init first
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance

audio_err_t esp_audio_input_stream_add(esp_audio_handle_t handle, audio_element_handle_t in_stream)

特定のesp_audioインスタンスにオーディオ入力ストリームを追加します。

Add audio input stream to specific esp_audio instance.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功した場合
    ESP_ERR_AUDIO_NO_ERROR: on success
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
  • ESP_ERR_AUDIO_MEMORY_LACK: メモリの割り当てに失敗する
    ESP_ERR_AUDIO_MEMORY_LACK: allocate memory fail
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • in_stream: オーディオストリームインスタンス
    in_stream: Audio stream instance

audio_err_t esp_audio_output_stream_add(esp_audio_handle_t handle, audio_element_handle_t out_stream)

特定のesp_audioインスタンスにオーディオ出力ストリームを追加します。

Add audio output stream to specific esp_audio instance.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功した場合
    ESP_ERR_AUDIO_NO_ERROR: on success
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
  • ESP_ERR_AUDIO_MEMORY_LACK: メモリの割り当てに失敗する
    ESP_ERR_AUDIO_MEMORY_LACK: allocate memory fail
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • out_stream: オーディオストリーム要素インスタンス
    out_stream: The audio stream element instance

audio_err_t esp_audio_codec_lib_add(esp_audio_handle_t handle, audio_codec_type_t type, audio_element_handle_t lib)

音楽ファイルをデコードまたはエンコードできる新しいコーデックライブラリを追加します。

Add a new codec lib that can decode or encode a music file.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功した場合
    ESP_ERR_AUDIO_NO_ERROR: on success
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
  • ESP_ERR_AUDIO_MEMORY_LACK: メモリの割り当てに失敗する
    ESP_ERR_AUDIO_MEMORY_LACK: allocate memory fail
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • type: オーディオコーデックタイプ(エンコーダーまたはデコーダー)
    type: The audio codec type(encoder or decoder)
  • lib: オーディオストリーム要素を提供するには
    lib: To provide audio stream element

audio_err_t esp_audio_codec_lib_query(esp_audio_handle_t handle, audio_codec_type_t type, const char *extension)

この種の音楽拡張機能がサポートされているかどうかを確認してください。

Check if this kind of music extension is supported or not.

Note
この関数は、esp_audio_codec_lib_addによってすでに追加されているコーデックを照会するだけです。 延長の最大長は6です。
This function just query the codec which has already add by esp_audio_codec_lib_add. The max length of extension is 6.
Return
  • ESP_ERR_AUDIO_NO_ERROR: サポートされています
    ESP_ERR_AUDIO_NO_ERROR: supported
  • ESP_ERR_AUDIO_NOT_SUPPORT: サポートしません
    ESP_ERR_AUDIO_NOT_SUPPORT: not support
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • type: CODEC_ENCODERまたはCODEC_DECODER
    type: The CODEC_ENCODER or CODEC_DECODER
  • extension: 「mp3」、「wav」、「aac」など
    extension: Such as “mp3”, “wav”, “aac”

audio_err_t esp_audio_play(esp_audio_handle_t handle, audio_codec_type_t type, const char *uri, int pos)

指定されたURIを再生します。

Play the given uri.

esp_audio_playには、フォローアクティビティがあり、URIによってinputstream、outputstream、およびcodecをセットアップし、それらすべてを開始します。 esp_audioは、URIフィールドによって入力ストリーム、コーデック、および出力ストリームを選択するという規則があります。

The esp_audio_play have follow activity, setup inputstream, outputstream and codec by uri, start all of them. There is a rule that esp_audio will select input stream, codec and output stream by URI field.

URIフィールドのルールは次のとおりです。

Rule of URI field are as follow.
  • 既存のストリームから入力ストリームを選択するためのURIのUF_SCHEMAフィールド。 例:「http」、「file」
    UF_SCHEMA field of URI for choose input stream from existing streams. e.g:”http”,”file”
  • 既存のコーデックからコーデックを選択するためのURIのUF_PATHフィールド。 例:「/audio/mp3_music.mp3」
    UF_PATH field of URI for choose codec from existing codecs. e.g:”/audio/mp3_music.mp3”
  • 既存のストリームから出力ストリームを選択するためのURIのUF_FRAGMENTフィールド。出力ストリームはデフォルトでI2Sです。
    UF_FRAGMENT field of URI for choose output stream from existing streams, output stream is I2S by default.
  • エンコードモードでの特定のサンプルレートとチャネルのURIのUF_USERINFOフィールド。
    UF_USERINFO field of URI for specific sample rate and channels at encode mode.

userinfoフィールドの「user:password」の形式、「user」はサンプルレート、「password」はチャネルです。

The format “user:password” in the userinfo field, “user” is sample rate, “password” is channels.

現在、esp_audio_playはURIに従うことをサポートしています。

Now esp_audio_play support follow URIs.
  • ”https://dl.espressif.com/dl/audio/mp3_music.mp3”
  • ”http://media-ice.musicradio.com/ClassicFMMP3”
  • ”file://sdcard/test.mp3”
  • ”iis://16000:2@from.pcm/rec.wav#file”
  • ”iis://16000:1@record.pcm/record.wav#raw”
  • ”aadp://44100:2@bt/sink/stream.pcm”

Note
  • http_parser_parse_urlによって解析されたURI、不正な文字列はESP_ERR_AUDIO_INVALID_URIを返します。
    The URI parse by http_parser_parse_url,any illegal string will be return ESP_ERR_AUDIO_INVALID_URI.
  • esp_decoderコーデックがhandleに追加されると、他のデコーダーが追加された場合でも、esp_decoderのハンドルがデフォルトのデコーダーとして設定されます。
    If the esp_decoder codec is added to handle, then the handle of esp_decoder will be set as the default decoder, even if other decoders are added.
  • CONFIG_FATFS_API_ENCODING_UTF_8を有効にすると、URIは漢字をサポートできます。
    Enabled CONFIG_FATFS_API_ENCODING_UTF_8, the URI can be support Chinese characters.
  • 非同期インターフェース
    Asynchronous interface
  • ブロック時間の最大値はesp_audio_play_timeout_setで変更できます。デフォルト値は25秒です。
    The maximum of block time can be modify by esp_audio_play_timeout_set, default value is 25 seconds.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_TIMEOUT: 再生アクティビティをタイムアウトします
    ESP_ERR_AUDIO_TIMEOUT: timeout the play activity
  • ESP_ERR_AUDIO_NOT_SUPPORT: 現在のステータスはAUDIO_STATUS_RUNNINGです
    ESP_ERR_AUDIO_NOT_SUPPORT: Currently status is AUDIO_STATUS_RUNNING
  • ESP_ERR_AUDIO_INVALID_URI: URIは違法です
    ESP_ERR_AUDIO_INVALID_URI: URI is illegal
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
Parameters
  • handle: esp_audio_handle_tインスタンス
    handle: The esp_audio_handle_t instance
  • uri: 「file://sdcard/test.wav」や「http://iot.espressif.com/file/example.mp3」など。 NULLを設定する場合は、esp_audio_setupによるURI設定が使用されます。
    uri: Such as “file://sdcard/test.wav” or “http://iot.espressif.com/file/example.mp3”. If NULL to be set, the uri setup byesp_audio_setup will used.
  • type: 特定のハンドルタイプのデコーダーまたはエンコーダー
    type: Specific handle type decoder or encoder
  • pos: バイト単位の特定の開始位置
    pos: Specific starting position by bytes

audio_err_t esp_audio_sync_play(esp_audio_handle_t handle, const char *uri, int pos)

音楽が終了するかエラーが発生するまで、指定されたURIを再生します。

Play the given uri until music finished or error occured.

Note
  • すべての機能はesp_audio_playと同じです
    All features are same with esp_audio_play
  • 同期インターフェース
    Synchronous interface
  • デコーダーモードのみをサポート
    Support decoder mode only
  • 再生中にイベントが投稿されることはありません
    No any events post during playing
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_TIMEOUT: タイムアウト(8000ms)プレイアクティビティ
    ESP_ERR_AUDIO_TIMEOUT: timeout(8000ms) the play activity
  • ESP_ERR_AUDIO_NOT_SUPPORT: 現在のステータスはAUDIO_STATUS_RUNNINGです
    ESP_ERR_AUDIO_NOT_SUPPORT: Currently status is AUDIO_STATUS_RUNNING
  • ESP_ERR_AUDIO_INVALID_URI: URIは違法です
    ESP_ERR_AUDIO_INVALID_URI: URI is illegal
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
Parameters
  • handle: esp_audio_handle_tインスタンス
    handle: The esp_audio_handle_t instance
  • uri:「file://sdcard/test.wav」や「http://iot.espressif.com/file/example.mp3」など、
    uri: Such as “file://sdcard/test.wav” or “http://iot.espressif.com/file/example.mp3”,
  • pos: バイト単位の特定の開始位置
    pos: Specific starting position by bytes

audio_err_t esp_audio_stop(esp_audio_handle_t handle, audio_termination_type_t type)

esp_audioを停止するための同期インターフェース。 最大ブロック時間は8000msです。

A synchronous interface for stop the esp_audio. The maximum of block time is 8000ms.

Note
1. ユーザーキューがevt_queによって登録されている場合、成功の場合はAUDIO_STATUS_STOPPEDイベント、エラーの場合はAUDIO_STATUS_ERRORイベントが受信されます。
1. If user queue has been registered by evt_que, AUDIO_STATUS_STOPPED event for success or AUDIO_STATUS_ERROR event for error will be received.
  1. TERMINATION_TYPE_DONEは、それ自体では停止できない入力ストリームでのみ機能します。 読み取り/書き込みストリーム、その他のストリームは効果がありません。
    TERMINATION_TYPE_DONE only works with input stream which can’t stopped by itself, e.g. raw read/write stream, others streams are no effect.
  2. 同期インターフェースは、作業中のパイプラインが確実に停止するようにするために使用されます。
    The synchronous interface is used to ensure that working pipeline is stopped.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
  • ESP_ERR_AUDIO_NOT_READY: ステータスがAUDIO_STATUS_RUNNINGまたはAUDIO_STATUS_PAUSEDではありません
    ESP_ERR_AUDIO_NOT_READY: The status is not AUDIO_STATUS_RUNNING or AUDIO_STATUS_PAUSED
  • ESP_ERR_AUDIO_TIMEOUT: タイムアウト(8000ms)停止アクティビティ。
    ESP_ERR_AUDIO_TIMEOUT: timeout(8000ms) the stop activity.
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • type: すぐに停止するか、完了
    type: Stop immediately or done

audio_err_t esp_audio_pause(esp_audio_handle_t handle)

esp_audioを一時停止します。

Pause the esp_audio.

Note
1. 音楽のみをサポートし、ライブストリームはサポートしません。 ユーザーキューがevt_queによって登録されている場合、成功の場合はAUDIO_STATUS_PAUSEDイベント、エラーの場合はAUDIO_STATUS_ERRORイベントが受信されます。
1. Only support music and without live stream. If user queue has been registered by evt_que, AUDIO_STATUS_PAUSED event for success or AUDIO_STATUS_ERROR event for error will be received.
  1. 一時停止した音楽は、新しい再生の前にesp_audio_stopで停止する必要があります。そうしないと、新しい再生でブロックされます。
    The Paused music must be stoped by esp_audio_stop before new playing, otherwise got block on new play.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
  • ESP_ERR_AUDIO_NOT_READY: ステータスは実行されていません
    ESP_ERR_AUDIO_NOT_READY: the status is not running
  • ESP_ERR_AUDIO_TIMEOUT: タイムアウト(8000ms)一時停止アクティビティ。
    ESP_ERR_AUDIO_TIMEOUT: timeout(8000ms) the pause activity.
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance

audio_err_t esp_audio_resume(esp_audio_handle_t handle)

一時停止した音楽を再開します。

Resume the music paused.

Note
音楽のみをサポートし、ライブストリームはサポートしません。 ユーザーキューがevt_queによって登録されている場合、成功の場合はAUDIO_STATUS_RUNNINGイベント、エラーの場合はAUDIO_STATUS_ERRORイベントが受信されます。
Only support music and without live stream. If user queue has been registered by evt_que, AUDIO_STATUS_RUNNING event for success or AUDIO_STATUS_ERROR event for error will be received.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
  • ESP_ERR_AUDIO_TIMEOUT: タイムアウト(8000ms)再開アクティビティ。
    ESP_ERR_AUDIO_TIMEOUT: timeout(8000ms) the resume activity.
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance

audio_err_t esp_audio_vol_set(esp_audio_handle_t handle, int vol)

esp_audioの音量を設定します。

Setting esp_audio volume.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_CTRL_HAL_FAIL: ハードウェアのエラー。
    ESP_ERR_AUDIO_CTRL_HAL_FAIL: error with hardware.
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • vol: 比容積が設定されます。 0〜100は合法です。 0はミュートになります。
    vol: Specific volume will be set. 0-100 is legal. 0 will be mute.

audio_err_t esp_audio_vol_get(esp_audio_handle_t handle, int *vol)

esp_audioボリュームを取得します。

Get esp_audio volume.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_CTRL_HAL_FAIL: ハードウェアのエラー。
    ESP_ERR_AUDIO_CTRL_HAL_FAIL: error with hardware.
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • vol: esp_audioボリュームを示すintへのポインタ。
    vol: A pointer to int that indicates esp_audio volume.

audio_err_t esp_audio_state_get(esp_audio_handle_t handle, esp_audio_state_t *state)

esp_audioステータスを取得します。

Get esp_audio status.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: esp_audioインスタンスがないかesp_audioが再生されない
    ESP_ERR_AUDIO_INVALID_PARAMETER: no esp_audio instance or esp_audio does not playing
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • state: esp_audioステータスを示すesp_audio_state_tへのポインタ。
    state: A pointer to esp_audio_state_t that indicates esp_audio status.

audio_err_t esp_audio_pos_get(esp_audio_handle_t handle, int *pos)

現在再生されている音楽のバイト単位の位置を取得します。

Get the position in bytes of currently played music.

Note
この機能は、音楽のデコードでのみ機能します。
This function works only with decoding music.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: esp_audioインスタンスはありません
    ESP_ERR_AUDIO_INVALID_PARAMETER: no esp_audio instance
  • ESP_ERR_AUDIO_NOT_READY: コーデック要素なし
    ESP_ERR_AUDIO_NOT_READY: no codec element
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • pos: esp_audioのデコード位置を示すintへのポインタ。
    pos: A pointer to int that indicates esp_audio decoding position.

audio_err_t esp_audio_time_get(esp_audio_handle_t handle, int *time)

現在再生されている音楽のマイクロ秒単位で位置を取得します。

Get the position in microseconds of currently played music.

Note
この機能は、音楽のデコードでのみ機能します。
This function works only with decoding music.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: esp_audioインスタンスはありません
    ESP_ERR_AUDIO_INVALID_PARAMETER: no esp_audio instance
  • ESP_ERR_AUDIO_NOT_READY: アウトストリームなし
    ESP_ERR_AUDIO_NOT_READY: no out stream
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • time: esp_audioのデコード位置を示すintへのポインタ。
    time: A pointer to int that indicates esp_audio decoding position.

audio_err_t esp_audio_setup(esp_audio_handle_t handle, esp_audio_setup_t *sets)

in_streamcodecout_streamを確実に選択し、URIを設定します。

Choose the in_stream, codec and out_stream definitely, and set uri.

Note
この関数は、イン/アウトストリームとコーデックを手動で選択する方法を提供します。esp_audio_playの前に呼び出してから、esp_audio_play URIパラメーターを1回だけ無視する必要があります。
This function provide a manual way to select in/out stream and codec, should be called before the esp_audio_play, then ignore the esp_audio_play URI parameter only one time.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: esp_audioインスタンスはありません
    ESP_ERR_AUDIO_INVALID_PARAMETER: no esp_audio instance
  • ESP_ERR_AUDIO_MEMORY_LACK: メモリの割り当てに失敗する
    ESP_ERR_AUDIO_MEMORY_LACK: allocate memory fail
Parameters

audio_err_t esp_audio_media_type_set(esp_audio_handle_t handle, media_source_type_t type)
audio_err_t esp_audio_info_get(esp_audio_handle_t handle, esp_audio_info_t *info)
audio_err_t esp_audio_info_set(esp_audio_handle_t handle, esp_audio_info_t *info)
audio_err_t esp_audio_callback_set(esp_audio_handle_t handle, esp_audio_event_callback cb, void *cb_ctx)
audio_err_t esp_audio_seek(esp_audio_handle_t handle, int seek_time_sec)

現在再生されている音楽の2番目の位置を探します。

Seek the position in second of currently played music.

Note
この機能は、音楽のデコードでのみ機能します。
This function works only with decoding music.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_FAIL: コーデックまたは割り当てが失敗する
    ESP_ERR_AUDIO_FAIL: codec or allocation fail
  • ESP_ERR_AUDIO_TIMEOUT: 要素ステータスを同期するためのタイムアウト
    ESP_ERR_AUDIO_TIMEOUT: timeout for sync the element status
  • ESP_ERR_AUDIO_INVALID_PARAMETER: esp_audioインスタンスはありません
    ESP_ERR_AUDIO_INVALID_PARAMETER: no esp_audio instance
  • ESP_ERR_AUDIO_NOT_SUPPORT: コーデックが終了しました
    ESP_ERR_AUDIO_NOT_SUPPORT: codec has finished
  • ESP_ERR_AUDIO_OUT_OF_RANGE: seek_time_msが範囲外です
    ESP_ERR_AUDIO_OUT_OF_RANGE: the seek_time_ms is out of the range
  • ESP_ERR_AUDIO_NOT_READY: ステータスは実行中でも一時停止でもありません
    ESP_ERR_AUDIO_NOT_READY: the status is neither running nor paused
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • seek_time_sec: esp_audioのデコード位置を示すintへのポインタ。
    seek_time_sec: A pointer to int that indicates esp_audio decoding position.

audio_err_t esp_audio_duration_get(esp_audio_handle_t handle, int *duration)

音楽を再生する時間をマイクロ秒単位で取得します。

Get the duration in microseconds of playing music.

Note
この機能は、音楽のデコードでのみ機能します。
This function works only with decoding music.
Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: esp_audioインスタンスはありません
    ESP_ERR_AUDIO_INVALID_PARAMETER: no esp_audio instance
  • ESP_ERR_AUDIO_NOT_READY: コーデック要素なしまたは要素内なし
    ESP_ERR_AUDIO_NOT_READY: no codec element or no in element
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • duration: デコードの合計時間を示すintへのポインタ。
    duration: A pointer to int that indicates decoding total time.

audio_err_t esp_audio_play_timeout_set(esp_audio_handle_t handle, int time_ms)

esp_audio_playのみを待機する最大時間を設定します。

Setting the maximum amount of time to waiting for esp_audio_play only.

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: 無効な引数
    ESP_ERR_AUDIO_INVALID_PARAMETER: invalid arguments
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • time_ms: 最大時間
    time_ms: The maximum amount of time

audio_err_t esp_audio_prefer_type_get(esp_audio_handle_t handle, esp_audio_prefer_t *type)

esp_audio_prefer_tのタイプを取得します

Get the type of esp_audio_prefer_t

Return
  • ESP_ERR_AUDIO_NO_ERROR: 成功したとき
    ESP_ERR_AUDIO_NO_ERROR: on succss
  • ESP_ERR_AUDIO_INVALID_PARAMETER: esp_audioインスタンスはありません
    ESP_ERR_AUDIO_INVALID_PARAMETER: no esp_audio instance
Parameters
  • handle: esp_audioインスタンス
    handle: The esp_audio instance
  • type: esp_audio_prefer_tへのポインタ
    type: A pointer to esp_audio_prefer_t

構造体

Structures
struct esp_audio_cfg_t

esp_audio構成パラメーター

esp_audio configuration parameters

Public Members

int in_stream_buf_size

入力バッファサイズ

Input buffer size
int out_stream_buf_size

出力バッファサイズ

Output buffer size
int resample_rate

宛先サンプルレート、0:rsampleを無効にします。 その他:44.1K、48K、32K、16K、8KがサポートされていますI2Sストリームsample_rateと同じであることを確認する必要があります

Destination sample rate, 0: disable rsample; others: 44.1K, 48K, 32K, 16K, 8K has supported It should be make sure same with I2S stream sample_rate
QueueHandle_t evt_que

受信したesp_audioイベントの場合(オプション)

For received esp_audio events (optional)
esp_audio_event_callback cb_func

esp_audioイベントコールバック(オプション)

esp_audio events callback (optional)
void *cb_ctx

esp_audioコールバックコンテキスト(オプション)

esp_audio callback context (optional)
esp_audio_prefer_t prefer_type

espオーディオは特定のタイプで動作します。デフォルトのメモリが推奨されます。

esp_audio works on sepcific type, default memory is preferred.
  • ESP_AUDIO_PREFER_MEMモードは、アウトストリーム要素を除いて、新しいピピリンが開始する前に以前のリンクされた要素を停止しました。
    ESP_AUDIO_PREFER_MEM mode stopped the previous linked elements before the new pipiline starting, except out stream element.
  • ESP_AUDIO_PREFER_SPEEDモードは、アウトストリーム要素を除いて、新しいピピリンが開始する前に以前のリンクされた要素を保持しました。
    ESP_AUDIO_PREFER_SPEED mode kept the previous linked elements before the new pipiline starting, except out stream element.

void *vol_handle

ボリューム変更インスタンス

Volume change instance
audio_volume_set vol_set

ボリュームコールバックを設定する

Set volume callback
audio_volume_get vol_get

ボリュームコールバックを取得する

Get volume callback
int task_prio

esp_audioタスクの優先度

esp_audio task priority
int task_stack

esp_audioタスクスタックのサイズ

Size of esp_audio task stack
struct esp_audio_setup_t

手動によるesp_audioセットアップパラメータ

esp_audio setup parameters by manual

Public Members

audio_codec_type_t set_type

コーデックタイプを設定する

Set codec type
int set_sample_rate

音楽のサンプルレートを設定する

Set music sample rate
int set_channel

音楽チャンネルを設定する

Set music channels
int set_pos

開始位置を設定する

Set starting position
int set_time

マイクロ秒時間の開始位置を設定します(オプション)

Set starting position of the microseconds time (optional)
char *set_uri

URIを設定する

Set URI
char *set_in_stream

in_streamのタグ

Tag of in_stream
char *set_codec

コーデックのタグ

Tag of the codec
char *set_out_stream

out_streamのタグ

Tag of out_stream
struct esp_audio_info_t

esp_audio情報

esp_audio information

Public Members

audio_element_info_t codec_info

コーデック情報

Codec information
audio_element_handle_t in_el

Handle of the in stream

Handle of the in stream
audio_element_handle_t out_el

アウトストリームのハンドル

Handle of the out stream
audio_element_handle_t codec_el

コーデックのハンドル

Handle of the codec
audio_element_handle_t filter_el

フィルターのハンドル

Handle of the filter
esp_audio_state_t st

esp_audioの状態

The state of esp_audio
int time_pos

マイクロ秒時間の位置

Position of the microseconds time

マクロ

Macros
DEFAULT_ESP_AUDIO_CONFIG()

タイプ定義

Type Definitions
typedef void *esp_audio_handle_t