AIMP Forum
AIMP for Android => Вопросы / Questions => Topic started by: Xwansu on September 09, 2017, 22:40:37
-
В чем отличие OpenSL от AudioTrack?
-
https://www.aimp.ru/forum/index.php?topic=57478.msg356091#msg356091
-
https://www.aimp.ru/forum/index.php?topic=57478.msg356091#msg356091
При использовании AudioTrack могут применяться улучшайзеры звука вашей прошивки, в OpenSL они недоступны.
Понятно. Буду пробовать OpenSL :D
-
Позвольте спросить, говорят, что есть два варианта - "AudioTrack (Java)" и "AudioTrack (нативный код)". Вопрос - какой именно вариант реализирован в версии "AIMP v2.60 Beta 3, build 418" ?
И ещё вопрос - можно ли улучшить качество звука при методе "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
(http://4pda.ru/forum/lofiversion/index.php?t322302-9600.html)
-
И ещё вопрос - можно ли улучшить качество звука при методе "AudioTrack", так как при методе "OpenSL" звук выходит лучше? (Определить разницу легче будет на более качественных наушниках).
Если у вас что-то хуже на одном из методов - разбирайтесь с вашей прошивкой (см. выше про "улучшайзеры"). Т.к. данные в обоих случаях отправляются одни и те же
-
На сколько я могу судить, у нас сейчас используется AudioTrack (java)