2011-07-19 19 views
8

Jak czytałem z oficjalnych dokumentów dla openSL ES, istnieją możliwości ustawienia poziomu głośności z Audio Player. Ale jak? Próbowałem dostać VolumeItf z odtwarzacza audio, ale otrzymała:jak dostosować głośność w openSL ES (Android)?

SL_RESULT_FEATURE_UNSUPPORTED

ja rozumieć, oznacza to wiadomość, że profile nie są suuported w Androidzie. Ale jak uzyskać dostęp do kontroli głośności?

góry dzięki

Odpowiedz

8

Tworzenie obiektu AudioPlayer z prośbą IID_VOLUME. Bez tego API zwraca 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); 

To obejście nie jest proste, ale działa dla mnie na ndk r6.

+4

Nie nazwałbym tego obejścia. Interfejs woluminu nie jest wymieniony jako niejawny w specyfikacji dla obiektu odtwarzacza, dlatego należy go podać przy tworzeniu obiektu. – IronMensan

Powiązane problemy