AndroidのOpenSLのボリュームインターフェイスに問題があります。次のようなボリュームインターフェイスを使用して出力ミックスオブジェクトを作成しようとすると、次のようになります。
const SLInterfaceID interfaceIDs[1]={SL_IID_VOLUME};
const SLboolean interfaceRequirements[1]={SL_BOOLEAN_TRUE};
SLresult result=(*engineInterface)->CreateOutputMix(engineInterface,&outputObject,1,interfaceIDs,interfaceRequirements);
result
SL_RESULT_FEATURE_UNSUPPORTED
ボリュームインターフェイスが仕様で義務付けられているようにリストされている場合でも、戻ってきます。
1
要求されたインターフェイスを無視するようにをに変更する0
と、出力ミックスオブジェクトが作成されますが、しようとすると明らかに失敗しますGetInterface(outputObject,SL_IID_VOLUME,&volumeInterface)
。
ここに表示されるボリュームインターフェイスの唯一の言及は、を使用する場合のボリューム計算に関連していEnableStereoPosition
ます。