| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @file ql_audio_pcm.h |
| @brief playback or capture API |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| |
| /*------------------------------------------------------------------------------------------------- |
| EDIT HISTORY |
| This section contains comments describing changes made to the file. |
| Notice that changes are listed in reverse chronological order. |
| $Header: $ |
| when who what, where, why |
| -------- --- ---------------------------------------------------------- |
| 2021-11-03 dameng.lin Created . |
| -------------------------------------------------------------------------------------------------*/ |
| |
| #ifndef __QL_AUDIO_PCM_H |
| #define __QL_AUDIO_PCM_H |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <stdint.h> |
| |
| |
| typedef int ql_audio_handle_t; |
| |
| |
| typedef enum QL_AUDIO_STREAM_FORMAT_ENUM |
| { |
| QL_AUDIO_STREAM_FORMAT_PCM = 1, /**< PCM*/ |
| QL_AUDIO_STREAM_FORMAT_MP3, /**< MP3*/ |
| QL_AUDIO_STREAM_FORMAT_AMR, /**< AMR*/ |
| QL_AUDIO_STREAM_FORMAT_AMRNB, /**< AMR-NB*/ |
| QL_AUDIO_STREAM_FORMAT_AMRWB, /**< AMR-WB*/ |
| }QL_AUDIO_STREAM_FORMAT_E; |
| |
| |
| /**The structure of PCM configuration parameters*/ |
| typedef struct ql_audio_pcm_config_struct |
| { |
| /** Each sound card maintains a hardware buffer to store audio data. The hardware |
| * buffer is divided into several periods. The sound card uses period as a unit to transmit data, |
| * and one period stores some data frames.period_size sets the size of periods in hardware buffer. |
| * When period_size is set to 0,it means that the period size is calculated by the bottom layer to |
| * obtain a default value. If period_size is not 0, the recommended value is 128–960. The larger the |
| * perod_size is, the larger the kernel overhead is |
| */ |
| uint32_t period_size; |
| /** period_count indicates the count of period that the data occupies, when the application reads data |
| * from or writes data to the hardware buffer.The size of the data that the application reads from or |
| * writes to the hardware buffer every time equals period_count multiplied by period_size. The hardware |
| * buffer has a maximum of 8 periods by default. The recommended value of period_count is 1–3. |
| */ |
| uint32_t period_count; |
| uint32_t num_channels; /**< Number of channels. 1 Mono 2 Stereo*/ |
| uint32_t sample_rate; /**< Sampling rate. A PCM interface supports 8000 and 16000,and an I2s interface supports 48000.Unit:Hz*/ |
| uint32_t pcm_format; /**< PCM data format.Presently supports 2 only,which means 16-bit little endian format*/ |
| } ql_audio_pcm_config_t; |
| |
| #define QL_AUDIO_INVALID_HANDLE ((ql_audio_handle_t)(void *)NULL) |
| |
| typedef enum |
| { |
| QL_AUDIO_STREAM_DIRECTION_PLAYBACK = 0, |
| QL_AUDIO_STREAM_DIRECTION_CAPTURE, |
| QL_AUDIO_STREAM_DIRECTION_MAX |
| }QL_AUDIO_STREAM_DIRECTION_E; |
| |
| |
| /**The enumeration of the front end PCM device types*/ |
| typedef enum QL_AUDIO_FE_PCM_DEV_ENUM |
| { |
| QL_AUDIO_FE_PCM_DEV_MIN = -1, |
| QL_AUDIO_FE_PCM_DEV_MULTIMEDIA1 = 0, /**< The first PCM device available for general-purpose audio playback and capturing.*/ |
| QL_AUDIO_FE_PCM_DEV_MULTIMEDIA2 = 1, /**< The sencond PCM device available for general-purpose audio playback and capturing.*/ |
| QL_AUDIO_FE_PCM_DEV_MULTIMEDIA3 = 2, /**< The third PCM device available for general-purpose audio playback and capturing.*/ |
| QL_AUDIO_FE_PCM_DEV_MAX |
| } QL_AUDIO_FE_PCM_DEV_E; |
| |
| |
| |
| typedef enum QL_AUDIO_BE_DAI_ENUM |
| { |
| QL_AUDIO_BE_DAI_MIN = -1, |
| QL_AUDIO_BE_DAI_PLAYBACK_PRI_PCM = 0, /**< Play back audio to the first PCM interface.*/ |
| QL_AUDIO_BE_DAI_PLAYBACK_VOICE_TX, /**< play back audio to the voice call uplink*/ |
| QL_AUDIO_BE_DAI_CAPTURE_PRI_PCM, /**< Capture audio from the first PCM interface*/ |
| QL_AUDIO_BE_DAI_CAPTURE_VOICE_UL, /**< Capture voice stream from voice call uplink*/ |
| QL_AUDIO_BE_DAI_CAPTURE_VOICE_DL, /**< Capture voice stream from voice call downlink*/ |
| QL_AUDIO_BE_DAI_MAX |
| }QL_AUDIO_BE_DAI_E; |
| |
| #define QL_AUDIO_BE_DAI_MASK_PLAYBACK_PRI_PCM (1 << QL_AUDIO_BE_DAI_PLAYBACK_PRI_PCM) |
| #define QL_AUDIO_BE_DAI_MASK_PLAYBACK_VOICE_TX (1 << QL_AUDIO_BE_DAI_PLAYBACK_VOICE_TX) |
| #define QL_AUDIO_BE_DAI_MASK_CAPTURE_PRI_PCM (1 << QL_AUDIO_BE_DAI_CAPTURE_PRI_PCM) |
| #define QL_AUDIO_BE_DAI_MASK_CAPTURE_VOICE_UL (1 << QL_AUDIO_BE_DAI_CAPTURE_VOICE_UL) |
| #define QL_AUDIO_BE_DAI_MASK_CAPTURE_VOICE_DL (1 << QL_AUDIO_BE_DAI_CAPTURE_VOICE_DL) |
| |
| /**The enumeration of audio playback state*/ |
| typedef enum QL_AUDIO_PLAYBACK_STATE_ENUM |
| { |
| QL_AUDIO_PLAYBACK_STATE_CLOSE = 0, /**< Close*/ |
| QL_AUDIO_PLAYBACK_STATE_OPEN, /**< Open*/ |
| QL_AUDIO_PLAYBACK_STATE_PREPARE, /**< Ready*/ |
| QL_AUDIO_PLAYBACK_STATE_PLAYING, /**< Playing*/ |
| QL_AUDIO_PLAYBACK_STATE_FINISHED, /**< Finished*/ |
| QL_AUDIO_PLAYBACK_STATE_PAUSE, /**< Pause*/ |
| QL_AUDIO_PLAYBACK_STATE_ERROR, /**< Error*/ |
| } QL_AUDIO_PLAYBACK_STATE_E; |
| |
| /**The enumeration of audio capture state*/ |
| typedef enum QL_AUDIO_CAPTURE_STATE_ENUM |
| { |
| QL_AUDIO_CAPTURE_STATE_CLOSE = 0, /**< Close*/ |
| QL_AUDIO_CAPTURE_STATE_OPEN, /**< Open*/ |
| QL_AUDIO_CAPTURE_STATE_PREPARE, /**< Prepare*/ |
| QL_AUDIO_CAPTURE_STATE_CAPTURING, /**< Capturing*/ |
| QL_AUDIO_CAPTURE_STATE_FINISHED, /**< Finished*/ |
| QL_AUDIO_CAPTURE_STATE_PAUSE, /**< Pause*/ |
| QL_AUDIO_CAPTURE_STATE_ERROR, /**< Error*/ |
| } QL_AUDIO_CAPTURE_STATE_E; |
| |
| |
| #define QL_AUDIO_PLAYBACK_NONBLOCK 0 |
| #define QL_AUDIO_PLAYBACK_BLOCK 1 |
| |
| |
| /** |
| @brief The audio capturing state callback function |
| @param handle Recording handle,which is the return value of ql_audio_capture_open(). |
| @param params Parameters carried by the callback function |
| @param state The current audio capturing state. |
| */ |
| typedef int (*ql_audio_capture_state_cb_f)(ql_audio_handle_t handle, void *params, QL_AUDIO_CAPTURE_STATE_E state); |
| |
| /** |
| @brief The playback state callback function |
| @param handle Playback handle, which is the return value of ql_audio_playback_open(). |
| @param params Parameters carried by the callback function. |
| @param state The current playback state. |
| */ |
| typedef int (*ql_audio_playback_state_cb_f)(ql_audio_handle_t handle, void *params, QL_AUDIO_PLAYBACK_STATE_E state); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function opens the audio context for playback. |
| |
| @param[in] fe_pcm_dev Front end PCM device type. defined by QL_AUDIO_FE_PCM_DEV_E |
| @param[in] be_dai_mask Backend digit audio interface mask, support follow: |
| QL_AUDIO_BE_DAI_MASK_PLAYBACK_PRI_PCM Play back audio to the 1 st PCM interface |
| QL_AUDIO_BE_DAI_MASK_PLAYBACK_SEC_PCM Play back audio to the 2 nd PCM interface |
| QL_AUDIO_BE_DAI_MASK_PLAYBACK_PRI_I2S Play back audio to the 1 st I2S interface |
| QL_AUDIO_BE_DAI_MASK_PLAYBACK_SEC_I2S Play back audio to the 2 nd I2S interface |
| QL_AUDIO_BE_DAI_MASK_PLAYBACK_VOICE_TX Play back audio to the voice call uplink |
| |
| @retval A_valid_handle Successful execution. |
| @retval QL_AUDIO_INVALID_HANDLE Failed execution.Invalid handle |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| ql_audio_handle_t ql_audio_playback_open(QL_AUDIO_FE_PCM_DEV_E fe_pcm_dev, uint32_t be_dai_mask); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function prepares for audio file playback. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| @param[in] file_name The name of the file to be played back. |
| @param[in] pcm_config Pcm config, including sample rate, channel nums, |
| defined by ql_audio_pcm_config_t. Generally, it is NULL. |
| @param[in] playback_state_cb Callback function to report the current playback state |
| The states defined by QL_AUDIO_PLAYBACK_STATE_E |
| @param[in] params Parameters carried by the callback function. |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Before calling this function, call ql_audio_playback_open() first to obtain a handle. |
| If an audio file is expected to be played back, call this function first to prepare for |
| the playback and then ql_audio_playback_play() to start playback. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_file_prepare(ql_audio_handle_t handle, |
| const char *file_name, |
| ql_audio_pcm_config_t *pcm_config, |
| ql_audio_playback_state_cb_f playback_state_cb, |
| void *params); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function prepares for audio stream playback. |
| |
| @param[in] handle The API ql_audio_playback_open return results |
| @param[in] pcm_config Pcm config, including sample rate, channel nums, |
| defined by ql_audio_pcm_config_t. If it is NULL, the API use defaule value. |
| @param[in] playback_state_cb Callback function to report the current playback state. |
| @param[in] params Parameters carried by the callback function. |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Before calling this function, call ql_audio_playback_open() first to obtain a handle. |
| If an audio stream is expected to be played back, call this function first to prepare |
| for the audio stream playback and then ql_audio_playback_push_stream() to start playback. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_stream_prepare(ql_audio_handle_t handle, |
| ql_audio_pcm_config_t *pcm_config, |
| ql_audio_playback_state_cb_f playback_state_cb, |
| void *params); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function starts playback of the audio data. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Before calling this function, call ql_audio_playback_file_prepare() first to prepare the audio file |
| to be played back, otherwise the audio data cannot be played back successfully.This function also supports |
| playback of audio stream data. In this case, call ql_audio_playback_stream_prepare() first to prepare |
| the audio stream to be played back, then this function to start playback, and finally |
| ql_audio_playback_push_stream() to play back the audio stream in buffer. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_play(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function plays back the audio stream in buffer. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| @param[in] stream_buf The buffer that stores the audio stream to be played back. |
| @param[in] buf_size The size of the audio stream to be played back. Unit: Byte. |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_push_stream(ql_audio_handle_t handle, void *stream_buf, uint32_t buf_size); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function pauses the audio playback. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_pause(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function resumes the audio playback. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_resume(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function stops the audio playback. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_stop(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function closes the audio context for playback. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @Note After an audio playback ends, you must call this function to close the audio context, |
| otherwise subsequent call of ql_audio_playback_open() will fail. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_close(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function gets the audio playback state. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| @param[out] playback_state the current audio playback state, defined by QL_AUDIO_PLAYBACK_STATE_E |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_get_state(ql_audio_handle_t handle, QL_AUDIO_PLAYBACK_STATE_E *playback_state); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function sets the block flag for audio playback. |
| |
| @param[in] handle The handle returned by ql_audio_playback_open(). |
| @param[in] flags block flag, including QL_AUDIO_PLAYBACK_NONBLOCK and QL_AUDIO_PLAYBACK_BLOCK |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_ARG Illegal argument. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Call this function as per the function call sequence below, to make sure the audio playback can be blocked successfully. |
| 1) ql_audio_playback_open() |
| 2) ql_audio_playback_set_block_flag() |
| 3) ql_audio_playback_file_prepare() |
| 4) ql_audio_playback_play() |
| If the audio playback is blocked successfully by calling ql_audio_playback_set_block_flag(), then |
| 1) If you dial a call or there is an incoming call during the audio playback, the playback will pause; |
| after the call is hung up, the playback resumes automatically. |
| 2) During a voice call, no function can be used to realize audio playback. In this case, |
| the call of ql_auido_palyback_file_prepare() will fail, which means audio files cannot be played back. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_playback_set_block_flag(ql_audio_handle_t handle, uint8_t flags); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function opens the audio context for capturing. |
| |
| @param[in] fe_pcm_dev Front end PCM device type. |
| @param[in] be_dai_mask Back end DAI mask,support follow: |
| QL_AUDIO_BE_DAI_MASK_CAPTURE_PRI_PCM |
| QL_AUDIO_BE_DAI_MASK_CAPTURE_VOICE_UL |
| QL_AUDIO_BE_DAI_MASK_CAPTURE_VOICE_DL |
| |
| @retval A_valid_handle Successful execution |
| @retval QL_AUDIO_INVALID_HANDLE Failed execution.Invalid handle |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| ql_audio_handle_t ql_audio_capture_open(QL_AUDIO_FE_PCM_DEV_E fe_pcm_dev, uint32_t be_dai_mask); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function prepares for audio file capturing. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| @param[in] file_name The name of the audio file to be captured. |
| @param[in] type The format of the audio data in the audio file. |
| @param[in] pcm_config Pcm config, including sample rate, channel nums, |
| defined by ql_audio_pcm_config_t, If it is NULL, the API use defaule value |
| @param[in] capture_state_cb Callback function to report the current audio capturing state. |
| @param[in] params Parameters carried by the callback function. |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Before calling this function, call ql_audio_capture_open() first to obtain a handle. |
| If an audio file is expected to be captured, call this function first to prepare for the audio file |
| capturing and then ql_audio_capture_record() to start capturing. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_file_prepare(ql_audio_handle_t handle, |
| const char *file_name, |
| QL_AUDIO_STREAM_FORMAT_E type, |
| ql_audio_pcm_config_t *pcm_config, |
| ql_audio_capture_state_cb_f capture_state_cb, |
| void *params); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function prepares for audio stream capturing. |
| |
| @param[in] handle This function prepares for audio stream capturing. |
| @param[in] pcm_config PCM configuration parameters. |
| @param[in] capture_state_cb Callback function to report the current audio capturing state. |
| @param[in] params Parameters carried by the callback function. |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Before calling this function, call ql_audio_capture_open() first to obtain a handle. |
| If an audio stream is expected to be captured, call this function first to prepare for |
| the audio stream capturing and then ql_audio_capture_push_stream() to start capturing. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_stream_prepare(ql_audio_handle_t handle, |
| ql_audio_pcm_config_t *pcm_config, |
| ql_audio_capture_state_cb_f capture_state_cb, |
| void *params); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function starts to capture the audio data. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval QL_ERR_INVALID_STATE Failed execution. Invalid state. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Before calling this function, call ql_audio_capture_file_prepare() first to prepare the audio |
| file to be captured, otherwise the audio data cannot be captured successfully.This function also |
| supports capturing of audio stream data. In this case, call ql_audio_capture_stream_prepare() |
| first to prepare the audio stream to be captured, then this function to start capturing, |
| and finally ql_audio_capture_pull_stream() to capture the audio stream in buffer. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_record(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function captures the audio stream data to the buffer. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| @param[out] stream_buf The buffer that stores the audio stream data to be captured. |
| @param[in] buf_size Buffer size. Unit: Byte. |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_pull_stream(ql_audio_handle_t handle, void *stream_buf, uint32_t buf_size); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function pauses the audio capturing. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_pause(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function resumes the audio capturing. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_resume(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function stops the audio capturing. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| |
| @note Calling this function will stop audio capturing regardless of whether the capturing is in |
| progress or paused,and the capturing cannot be resumed after it is stopped. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_stop(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function closes the audio context for capturing. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| |
| @retval QL_ERR_OK Successful execution. |
| @retval QL_ERR_INVALID_HANDLE Failed execution. Invalid handle. |
| @retval Others Failed execution. See ql_type.h for error codes. |
| @note After audio capturing ends, you must call this function to close the audio context, |
| otherwise subsequent call of ql_audio_capture_open() will fail. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| int ql_audio_capture_close(ql_audio_handle_t handle); |
| |
| /*-----------------------------------------------------------------------------------------------*/ |
| /** |
| @brief This function gets the current audio capturing state. |
| |
| @param[in] handle The handle returned by ql_audio_capture_open(). |
| @param[out] capture_state The current audio capturing state. |
| */ |
| /*-----------------------------------------------------------------------------------------------*/ |
| void ql_audio_capture_get_state(ql_audio_handle_t handle, QL_AUDIO_CAPTURE_STATE_E *capture_state); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| |
| #endif |
| |