2011-10-21 14 views
0

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はバックspecに義務付けられボリュームインターフェイスが表示されているにもかかわらず、SL_RESULT_FEATURE_UNSUPPORTEDとして付属しています。

0に変更して、要求されたインターフェイスを無視すると、出力ミックスオブジェクトが作成されますが、試みると明らかに失敗します。GetInterface(outputObject,SL_IID_VOLUME,&volumeInterface)

hereと表示されているボリュームインターフェイスの唯一の言及は、EnableStereoPositionを使用した場合のボリュームの計算に関連しています。

答えて

0

Androidは完全なOpenSL ES仕様をサポートしていません。 2番目のリンクの表を見ると、Androidはオーディオプレーヤーでボリュームをサポートしていますが、ではなく、レコーダー、エンジンまたは出力ミックスが表示されます。この機能は実際にはサポートされていません。

関連する問題