2011-07-19 8 views
8

Cuando leo de los documentos oficiales para openSL ES, hay capacidades para configurar el nivel de volumen desde el reproductor de audio. ¿Pero cómo? He intentado conseguir VolumeItf desde el reproductor de audio, pero tengo:cómo ajustar el volumen en openSL ES (Android)?

SL_RESULT_FEATURE_UNSUPPORTED

soy yo entendido, este mensaje significa que los perfiles no están suuported en Android. Pero, ¿cómo obtener acceso al control de volumen?

Gracias de antemano

Respuesta

8

Crear objeto AudioPlayer con la petición IID_VOLUME. Sin hacer esto, la API devuelve 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); 

Esta solución no es sencilla pero funciona para mí en ndk r6.

+4

No lo llamaría una solución. La interfaz de volumen no aparece como implícita en la especificación para el objeto de jugador, por lo que debe especificarse en la creación del objeto. – IronMensan

Cuestiones relacionadas