这里主要是说明一个从C语言调用AudioSystem::SetParameter封装的过程。
新增一个audio_hw_interface.cpp文件
#include <media/AudioSystem.h>
namespace android {
extern "C" void send_audio_calibration(int acdb_id, int capability, int app_id, int sample_rate)
{
char param[50];
String8 paramValue;
snprintf(param, sizeof(param), "send_audio_calibration=%d-%d-%d-%d",acdb_id, capability, app_id, sample_rate);
paramValue.setTo(param);
AudioSystem::setParameters(paramValue);
return;
}
}; // namespace android
在Android.mk中添加需要头文件搜索目录和动态库
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include \
$(TOP)/frameworks/av/include/media
LOCAL_SHARED_LIBRARIES := libcutils liblog libc libmedia libutils
在调用该封装函数的C语言中。
extern void send_audio_calibration(int acdb_id, int capability, int app_id, int sample_rate);
send_audio_calibration(acdb_id, 2,14, 48000);
这样就可以了。
这篇博客详细介绍了如何在C语言环境中调用Android的AudioSystem::SetParameter函数来设置音频参数。通过新增audio_hw_interface.cpp文件,定义send_audio_calibration函数,并在Android.mk中配置头文件和库的路径,最终在C语言代码中调用此函数,实现了音频校准参数的设定,例如acdb_id、capability、app_id和sample_rate。
1200

被折叠的 条评论
为什么被折叠?



