} vc_pre_result_event_e;
/**
+ * @brief Enumeration of audio streaming event.
+ * @since_tizen 6.0
+ */
+typedef enum {
+ VC_AUDIO_STREAMING_EVENT_FAIL = -1, /**< Failed */
+ VC_AUDIO_STREAMING_EVENT_START = 1, /**< Start event */
+ VC_AUDIO_STREAMING_EVENT_CONTINUE = 2, /**< Continue event */
+ VC_AUDIO_STREAMING_EVENT_FINISH = 3 /**< Finish event */
+} vc_audio_streaming_event_e;
+
+/**
+ * @brief Enumeration of audio streaming mode.
+ * @since_tizen 6.0
+ */
+typedef enum {
+ VC_AUDIO_STREAMING_MODE_VC_SERVICE = 0, /**< Use audio recording from VC service */
+ VC_AUDIO_STREAMING_MODE_MULTI_ASSISTANT = 1, /**< Use audio streaming from multi-assistant */
+ VC_AUDIO_STREAMING_MODE_OUTSIDE = 2, /**< Use audio streaming from outside */
+} vc_audio_streaming_mode_e;
+
+/**
+ * @brief Enumeration of background volume event.
+ * @since_tizen 6.0
+ */
+typedef enum {
+ VC_BACKGROUND_VOLUME_EVENT_CHANGE_FOR_NEARFIELD = 0, /**< Background volume event for near-field */
+ VC_BACKGROUND_VOLUME_EVENT_CHANGE_FOR_FARFIELD /**< Background volume event for far-field */
+} vc_background_volume_event_e;
+
+/**
* @brief Called when client gets the all recognition results from voice control service.
* @since_tizen 5.0
*
*/
int vc_mgr_send_utterance_status(int pid, int utt_id, vc_tts_utterance_status_e utt_status);
+/**
+ * @platform
+ * @brief Sends audio streaming to the engine service.
+ * @details Using this function, the developer can send audio streaming after vc_mgr_start() function is called.
+ * @since_tizen 6.0
+ *
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/voicecontrol.manager
+ *
+ * @param[in] event Audio streaming event (e.g. #VC_AUDIO_STREAMING_EVENT_START, #VC_AUDIO_STREAMING_EVENT_CONTINUE)
+ * @param[in] buffer Audio streaming data
+ * @param[in] len Length of the audio streaming data
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #VC_ERROR_NONE Successful
+ * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
+ * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #VC_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #VC_ERROR_OUT_OF_MEMORY Not enough memory
+ * @retval #VC_ERROR_INVALID_STATE Invalid state
+ * @retval #VC_ERROR_OPERATION_FAILED Operation fail
+ *
+ * @pre The state should be #VC_SERVICE_STATE_RECORDING.
+ *
+ * @see vc_mgr_set_audio_streaming_mode()
+ */
+int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, unsigned char *buffer, unsigned int len);
+
+/**
+ * @platform
+ * @brief Sets audio streaming mode.
+ * @since_tizen 6.0
+ *
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/voicecontrol.manager
+ *
+ * @remarks The default audio streaming mode is #VC_AUDIO_STREAMING_MODE_VC_SERVICE. \n
+ * If you want to use other mode, you can set mode with vc_mgr_set_audio_streaming_mode().
+ *
+ * @param[in] mode Audio streaming mode
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #VC_ERROR_NONE Successful
+ * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
+ * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #VC_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #VC_ERROR_INVALID_STATE Invalid state
+ * @retval #VC_ERROR_OPERATION_FAILED Operation fail
+ *
+ * @pre The state should be #VC_STATE_INITIALIZED or #VC_SERVICE_STATE_READY.
+ *
+ * @see vc_mgr_send_audio_streaming()
+ */
+int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e mode);
+
+/**
+ * @platform
+ * @brief Changes background volume.
+ * @since_tizen 6.0
+ *
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/volume.set
+ *
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/voicecontrol.manager
+ *
+ * @remarks If @a event is #VC_BACKGROUND_VOLUME_EVENT_CHANGE_FOR_NEARFIELD, the background volume will be reduced by 70%.
+ * And, if @a event is #VC_BACKGROUND_VOLUME_EVENT_CHANGE_FOR_FARFIELD, the background volume will be muted.
+ *
+ * @param[in] event The background volume event
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #VC_ERROR_NONE Successful
+ * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
+ * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #VC_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #VC_ERROR_INVALID_STATE Invalid state
+ * @retval #VC_ERROR_OPERATION_FAILED Operation fail
+ *
+ * @pre The state should be #VC_STATE_INITIALIZED or #VC_STATE_READY.
+ *
+ * @see vc_mgr_reset_background_volume()
+ * @see vc_mgr_change_background_volume_by_ratio()
+ */
+int vc_mgr_change_background_volume(vc_background_volume_event_e event);
+
+/**
+ * @platform
+ * @brief Changes background volume ratio.
+ * @details Calling this function sets the background volume to a given percentage of its current value.
+ * @since_tizen 6.0
+ *
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/volume.set
+ *
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/voicecontrol.manager
+ *
+ * @param[in] ratio Current background volume ratio (Range 0.0 ~ 1.0)
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #VC_ERROR_NONE Successful
+ * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
+ * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #VC_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #VC_ERROR_INVALID_STATE Invalid state
+ * @retval #VC_ERROR_OPERATION_FAILED Operation fail
+ *
+ * @pre The state should be #VC_STATE_INITIALIZED or #VC_STATE_READY.
+ *
+ * @see vc_mgr_change_background_volume()
+ * @see vc_mgr_reset_background_volume()
+ */
+int vc_mgr_change_background_volume_by_ratio(double ratio);
+
+/**
+ * @platform
+ * @brief Resets background volume.
+ * @details This function reverts all changes made by vc_mgr_change_background_volume() and vc_mgr_change_background_volume_by_ratio().
+ * @since_tizen 6.0
+ *
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/volume.set
+ *
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/voicecontrol.manager
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #VC_ERROR_NONE Successful
+ * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
+ * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #VC_ERROR_INVALID_STATE Invalid state
+ * @retval #VC_ERROR_OPERATION_FAILED Operation fail
+ *
+ * @pre The state should be #VC_STATE_INITIALIZED or #VC_STATE_READY.
+ *
+ * @see vc_mgr_change_background_volume()
+ * @see vc_mgr_change_background_volume_by_ratio()
+ */
+int vc_mgr_reset_background_volume(void);
#ifdef __cplusplus
}