Не удается создать интерфейс тома для объекта «Выходной микс» - PullRequest
0 голосов
/ 21 октября 2011

У меня проблема с интерфейсом громкости в OpenSL на Android.Когда я пытаюсь создать объект выходного микса с интерфейсом тома следующим образом:

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, даже если интерфейс тома указан в соответствии с мандатом в спецификации 1007 *.

Если я изменю 1 на 0, чтобы он игнорировал запрошенные интерфейсы, объект выходного микса создается, но, очевидно, происходит сбой при попытке GetInterface(outputObject,SL_IID_VOLUME,&volumeInterface).

Единственное упоминание об интерфейсе громкости, которое я вижу здесь , относится к вычислениям объема при использовании EnableStereoPosition.

1 Ответ

0 голосов
/ 30 декабря 2011

Android не поддерживает полную спецификацию OpenSL ES.Если вы посмотрите на таблицу во второй ссылке, она показывает, что Android поддерживает громкость только с аудиоплеером, но не Recorder, Engine или Output Mix.Эта функция действительно не поддерживается.

...