无法为Output Mix对象创建卷接口

时间:2011-10-21 18:32:54

标签: android-ndk opensl

我在Android上的OpenSL中遇到卷接口问题。当我尝试使用卷接口创建一个Output Mix对象时:

const SLInterfaceID interfaceIDs[1]={SL_IID_VOLUME};
const SLboolean interfaceRequirements[1]={SL_BOOLEAN_TRUE};

SLresult result=(*engineInterface)->CreateOutputMix(engineInterface,&outputObject,1,interfaceIDs,interfaceRequirements);

resultSL_RESULT_FEATURE_UNSUPPORTED的形式返回,即使在spec中按照规定列出了卷界面。

如果我将1更改为0以便忽略请求的接口,则会创建输出混合对象,但在尝试GetInterface(outputObject,SL_IID_VOLUME,&volumeInterface)时显然会失败。

我在EnableStereoPosition使用here时,唯一提及的音量界面与音量计算有关。

1 个答案:

答案 0 :(得分:0)

Android不支持完整的OpenSL ES规范。如果您查看第二个链接中的表格,则表明Android仅支持带音频播放器的音量,但不支持录音机,引擎或输出混音。实际上,此功能不受支持。