2011-07-19 5 views
8

Comme je l'ai lu dans les documents officiels pour openSL ES, il existe des fonctionnalités pour régler le niveau de volume depuis Audio Player. Mais comment? J'ai essayé de VolumeItf du lecteur audio, mais ai:comment régler le volume dans openSL ES (Android)?

SL_RESULT_FEATURE_UNSUPPORTED

Est-je compris, ce message signifie que les profils ne sont pas suuported dans Android. Mais comment avoir accès au contrôle du volume?

Merci à l'avance

Répondre

8

Créer un objet AudioPlayer avec demande IID_VOLUME. Sans cela, l'API renvoie SL_RESULT_FEATURE_UNSUPPORTED.

const SLInterfaceID ids[2] = {SL_IID_SEEK, SL_IID_VOLUME}; 
const SLboolean req[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE}; 

(*engine)->CreateAudioPlayer(engine, &playerObject, &src, &sink, 2, ids, req); 

Cette solution de contournement n'est pas simple mais fonctionne pour moi sur ndk r6.

+4

Je n'appellerais pas cela une solution de contournement. L'interface de volume n'est pas répertoriée comme implicite dans la spécification de l'objet player, elle doit donc être spécifiée lors de la création de l'objet. – IronMensan

Questions connexes