diff --git a/audio/v1_0/AudioTypes.idl b/audio/v1_0/AudioTypes.idl index 0cdd789d68649e4b4561ef800cf9c9c3ff658d73..29f4c107e939c730c563e3aacd3bc7321aeb5fdb 100644 --- a/audio/v1_0/AudioTypes.idl +++ b/audio/v1_0/AudioTypes.idl @@ -251,3 +251,40 @@ struct AudioRoute { struct AudioRouteNode[] sources; struct AudioRouteNode[] sinks; }; +enum EVENT_TYPE { + HDF_AUDIO_DEVICE_ADD = 1, + HDF_AUDIO_DEVICE_REMOVE = 2, + HDF_AUDIO_LOAD_SUCCESS = 3, + HDF_AUDIO_LOAD_FAILURE = 4, + HDF_AUDIO_UNLOAD = 5, + HDF_AUDIO_SERVICE_VALID = 7, + HDF_AUDIO_SERVICE_INVALID = 8, + HDF_AUDIO_CAPTURE_THRESHOLD = 9, + HDF_AUDIO_EVENT_UNKOWN = 10, +}; +enum DEVICE_TYPE { + HDF_AUDIO_LINEOUT = 1, + HDF_AUDIO_HEADPHONE = 2, + HDF_AUDIO_HEADSET = 4, + HDF_AUDIO_USB_HEADSET = 8, + HDF_AUDIO_USB_HEADPHONE = 16, + HDF_AUDIO_USBA_HEADSET = 32, + HDF_AUDIO_USBA_HEADPHONE = 64, + HDF_AUDIO_PRIMARY_DEVICE = 128, + HDF_AUDIO_USB_DEVICE = 256, + HDF_AUDIO_A2DP_DEVICE = 512, + HDF_AUDIO_DEVICE_UNKOWN = 513, +}; +enum AudioExtParamKey { + AUDIO_EXT_PARAM_KEY_NONE = 0, /**< Distributed audio extra param key none */ + AUDIO_EXT_PARAM_KEY_VOLUME = 1, /**< Distributed audio extra param key volume event */ + AUDIO_EXT_PARAM_KEY_FOCUS = 2, /**< Distributed audio extra param key focus event */ + AUDIO_EXT_PARAM_KEY_BUTTON = 3, /**< Distributed audio extra param key media button event */ + AUDIO_EXT_PARAM_KEY_EFFECT = 4, /**< Distributed audio extra param key audio effect event */ + AUDIO_EXT_PARAM_KEY_STATUS = 5, /**< Distributed audio extra param key device status event */ + AUDIO_EXT_PARAM_KEY_LOWPOWER = 1000, /**< Low power event type */ +}; +struct AudioEvent { + unsigned int eventType; + unsigned int deviceType; +}; \ No newline at end of file diff --git a/audio/v1_0/IAudioAdapter.idl b/audio/v1_0/IAudioAdapter.idl index f49ba0da09b450eb346db958eb6863c7a68e3336..2958f8664705b5e01e4392fef8447e01914be193 100644 --- a/audio/v1_0/IAudioAdapter.idl +++ b/audio/v1_0/IAudioAdapter.idl @@ -29,4 +29,12 @@ interface IAudioAdapter { SetPassthroughMode([in] struct AudioPort port, [in] enum AudioPortPassthroughMode mode); GetPassthroughMode([in] struct AudioPort port, [out] enum AudioPortPassthroughMode mode); GetDeviceStatus([out] struct AudioDeviceStatus status); + UpdateAudioRoute([in] struct AudioRoute route, [out] int routeHandle); + ReleaseAudioRoute([in] int routeHandle); + SetMicMute([in] boolean mute); + GetMicMute([out] boolean mute); + SetVoiceVolume([in] float volume); + SetExtraParams([in] enum AudioExtParamKey key, [in] String condition, [in] String value); + GetExtraParams([in] enum AudioExtParamKey key, [in] String condition, [out] String value); + RegExtraParamObserver([in] IAudioCallback audioCallback, [in] byte cookie); } diff --git a/audio/v1_0/IAudioCallback.idl b/audio/v1_0/IAudioCallback.idl index c617e1b2623830978da0e47432abdf016f24e15f..8b8547c36930553a107ac56409fd74d54c4b2322 100644 --- a/audio/v1_0/IAudioCallback.idl +++ b/audio/v1_0/IAudioCallback.idl @@ -42,4 +42,5 @@ import ohos.hdi.audio.v1_0.AudioTypes; */ [callback] interface IAudioCallback { RenderCallback([in] enum AudioCallbackType type, [out] byte reserved, [out] byte cookie); + ParamCallback([in] enum AudioExtParamKey key, [in] byte condition, [in] byte value, [out] byte reserved, [out] byte cookie); } diff --git a/audio/v1_0/IAudioCapture.idl b/audio/v1_0/IAudioCapture.idl index b83caaa15e8e106e4f843ab990c264b309c69041..f93858e9d340f1486af4c3879f51a4df291be147 100644 --- a/audio/v1_0/IAudioCapture.idl +++ b/audio/v1_0/IAudioCapture.idl @@ -38,6 +38,9 @@ interface IAudioCapture { GetExtraParams([out] String keyValueList); ReqMmapBuffer([in] int reqSize, [in] struct AudioMmapBufferDescripter desc); GetMmapPosition([out] unsigned long frames, [out] struct AudioTimeStamp time); + AddAudioEffect([in] unsigned long effectid); + RemoveAudioEffect([in] unsigned long effectid); + GetFrameBufferSize([out] unsigned long bufferSize); Start(); Stop(); Pause(); @@ -45,4 +48,5 @@ interface IAudioCapture { Flush(); TurnStandbyMode(); AudioDevDump([in] int range, [in] int fd); + IsSupportsPauseAndResume([out] boolean supportPause, [out] boolean supportResume); } diff --git a/audio/v1_0/IAudioRender.idl b/audio/v1_0/IAudioRender.idl index 0712c090d711f90491009f2bed46ca155f3d27ca..0512b474d60912a8b1bb2b95a85189157731f2cb 100644 --- a/audio/v1_0/IAudioRender.idl +++ b/audio/v1_0/IAudioRender.idl @@ -28,6 +28,7 @@ interface IAudioRender { GetChannelMode([out] enum AudioChannelMode mode); RegCallback([in] IAudioCallback audioCallback, [in] byte cookie); DrainBuffer([out] enum AudioDrainNotifyType type); + IsSupportsDrain([out] boolean support); CheckSceneCapability([in] struct AudioSceneDescriptor scene, [out] boolean supported); SelectScene([in] struct AudioSceneDescriptor scene); SetMute([in] boolean mute); @@ -46,6 +47,9 @@ interface IAudioRender { GetExtraParams([out] String keyValueList); ReqMmapBuffer([in] int reqSize, [in] struct AudioMmapBufferDescripter desc); GetMmapPosition([out] unsigned long frames, [out] struct AudioTimeStamp time); + AddAudioEffect([in] unsigned long effectid); + RemoveAudioEffect([in] unsigned long effectid); + GetFrameBufferSize([out] unsigned long bufferSize); Start(); Stop(); Pause(); @@ -53,4 +57,5 @@ interface IAudioRender { Flush(); TurnStandbyMode(); AudioDevDump([in] int range, [in] int fd); + IsSupportsPauseAndResume([out] boolean supportPause, [out] boolean supportResume); }