From 0afca2a636333d1cccacf7977551a96d0bd53b43 Mon Sep 17 00:00:00 2001 From: huchang Date: Mon, 11 Mar 2024 16:44:16 +0800 Subject: [PATCH] add volume control on ndk audio render Signed-off-by: huchang Change-Id: I4421b1e88c4bf1c20353bc4574b8a686210c98c9 --- .../audio_renderer/native_audiorenderer.h | 31 +++++++++++++++++++ multimedia/audio_framework/ohaudio.ndk.json | 14 ++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h index 990aae20d..edc3d2a81 100644 --- a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h +++ b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h @@ -250,6 +250,37 @@ OH_AudioStream_Result OH_AudioRenderer_GetSpeed(OH_AudioRenderer* renderer, floa */ OH_AudioStream_Result OH_AudioRenderer_SetSpeed(OH_AudioRenderer* renderer, float speed); +/** + * Set volume of current renderer. + * + * @param renderer Reference created by OH_AudioStreamBuilder_GenerateRenderer() + * @param volume Volume to set which changes from 0.0 to 1.0. + * @return {@link #AUDIOSTREAM_SUCCESS} or an undesired error. + * @since 12 + */ +OH_AudioStream_Result OH_AudioRenderer_SetVolume(OH_AudioRenderer* renderer, float volume); + +/** + * Changes the volume with ramp for a duration. + * + * @param renderer Reference created by OH_AudioStreamBuilder_GenerateRenderer() + * @param volume Volume to set which changes from 0.0 to 1.0. + * @param durationMs Duration for volume ramp, in millisecond. + * @return {@link #AUDIOSTREAM_SUCCESS} or an undesired error. + * @since 12 + */ +OH_AudioStream_Result OH_AudioRenderer_SetVolumeWithRamp(OH_AudioRenderer* renderer, float volume, int32_t durationMs); + +/** + * Get Volume of current renderer. + * + * @param renderer Reference created by OH_AudioStreamBuilder_GenerateRenderer() + * @param volume Pointer to a variable to receive the volume. + * @return {@link #AUDIOSTREAM_SUCCESS} or an undesired error. + * @since 12 + */ +OH_AudioStream_Result OH_AudioRenderer_GetVolume(OH_AudioRenderer* renderer, float* volume); + #ifdef __cplusplus } #endif diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 3294a8a93..9f6355063 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -39,7 +39,7 @@ "first_introduced": "10", "name": "OH_AudioStreamBuilder_SetRendererCallback" }, - { + { "first_introduced": "11", "name": "OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback" }, @@ -194,5 +194,17 @@ { "first_introduced": "11", "name": "OH_AudioRenderer_SetSpeed" + }, + { + "first_introduced": "12", + "name": "OH_AudioRenderer_SetVolume" + }, + { + "first_introduced": "12", + "name": "OH_AudioRenderer_SetVolumeWithRamp" + }, + { + "first_introduced": "12", + "name": "OH_AudioRenderer_GetVolume" } ] -- Gitee