特定于 Android 的 API 功能

以下是适用于 Android 的 DPS SDK 中可用的功能。 它们在 DPS.h 头文件中被引用。

本文档旨在演示 Android 特定于 java 的功能。 请使用核心 API 函数作为主 API 引用。

初始 化

int DPSInitialize(JNIEnv* env, jobject android_context, jstring license_file);

这将"唤醒"算法并初始化所有表、变量等。启动时调用一次。这将返回许可值之一。 您必须收到 AUTH_SUCCESS(整数值 0),DPS 处理才能不受限制地工作。 如果返回任何其他值,DPS 将进入演示模式。 其他值在 DPS.h 文件中定义。

int DPSGetDPSEnabled();

获取 DPS 处理的状态。 如果为 1,则启用 DPS。 如果为 0,则绕过 DPS。

void DPSSetDPSEnabled(int enabled);

启用或绕过 DPS 处理。 使用启用的 = 1打开 DPS。 使用启用的 = 0关闭 DPS 处理。 DPS HEAR 和用户音量控制(见下文)在关闭 DPS 后保持不变。

参数加载

int DPSLoadPreset(char *fname);

"预设"是指DPS 配置文件。 它包含使 DPS 算法与特定播放设备一致的设置。 例如,这可能是 Bose 耳机、Klipsch 扬声器或许多设备通用的"城市"配置文件。

Android 的 DPS 配置文件使用 .bgvx 格式。

此函数返回 0 = 成功,1 = 文件不存在,2 = 无效预设

int DPSLoadPresetBuf(char *c, int length);

此函数用于从内存加载配置文件。

返回 0 = 成功,1 = 文件不存在,2 = 无效预设

请注意,预设/配置文件的大小通常约为 4kB。

void DPSFlattenAll(void);

这将将所有 DPS 参数设置为平面状态。 DPS 算法仍在运行,但对音频没有影响。 这将保持音频延迟(由算法引起的总延迟)。

音频处理

void DPSProcessBuffer(short *buffer, int numOfFrames, numberOfChannels);

这就是我们将音频传递到 DPS 算法进行处理的方式。 此函数返回应用了 DPS 处理的缓冲区。

numOfFrame = 立体声样本的数量。 允许的最大值为 2048。

目前,DPS 算法仅支持立体声音频。

所有其他 API 函数

有关所有当前描述,请参阅DPS 核心 API 功能。