0 Members and 2 Guests are viewing this topic.
https://www.aimp.ru/forum/index.php?topic=57478.msg356091#msg356091
При использовании AudioTrack могут применяться улучшайзеры звука вашей прошивки, в OpenSL они недоступны.
В Андроид ОС до 2.2.1 включительно сущестовал единственный способвыводить аудио данные в ОС - через Java класс AudioTrack. Его можнобыло так же использовать из нативного кода через JNI интерфейсС 2.3 Гугл добавил новый нативный интерфейс для вывода аудио, которыйназывается OpenSL ES. Использование этого интерфейса позволяет избежать потери времени на вызов JNI фуункций и пересекатся с виртуальной машиной Java. На практике, OpenSL ES использует нативную реализацию AudioTrack Андроида, поэтому собственно это он и есть, только в другой оболочке и без связи с Java.Если сделать замеры % ЦП, то при использовании OpenSL ES интерфейса %потребления ЦП может снижатся на 5-6% (проверено на GT-I9000, на болеемощных устр. менее заметно).Если прошивка устройства имеет баги в реализации OpenSL ES (падения,подвисания), то можно отключить его использование и вернуться настарый проверенный способ AudioTrack
И ещё вопрос - можно ли улучшить качество звука при методе "AudioTrack", так как при методе "OpenSL" звук выходит лучше? (Определить разницу легче будет на более качественных наушниках).