AIMP Forum

AIMP for Android => Вопросы / Questions => Topic started by: Xwansu on September 09, 2017, 22:40:37

Title: [418] Отличие OpenSL от AudioTrack
Post by: Xwansu on September 09, 2017, 22:40:37
В чем отличие OpenSL от AudioTrack?
Title: Re: [418] Отличие OpenSL от AudioTrack
Post by: Artem on September 09, 2017, 22:42:42
https://www.aimp.ru/forum/index.php?topic=57478.msg356091#msg356091
Title: Re: [418] Отличие OpenSL от AudioTrack
Post by: Xwansu on September 09, 2017, 22:49:18
https://www.aimp.ru/forum/index.php?topic=57478.msg356091#msg356091

При использовании AudioTrack могут применяться улучшайзеры звука вашей прошивки, в OpenSL они недоступны.

Понятно. Буду пробовать OpenSL  :D
Title: Re: [418] Отличие OpenSL от AudioTrack
Post by: Impulse on September 10, 2017, 15:07:27
    Позвольте спросить, говорят, что есть два варианта - "AudioTrack (Java)" и  "AudioTrack (нативный код)". Вопрос - какой именно вариант реализирован в версии "AIMP v2.60 Beta 3, build 418" ?

    И ещё вопрос - можно ли улучшить качество звука при методе "AudioTrack", так как при методе "OpenSL" звук выходит, в конкретном случае, лучше? (Определить разницу легче будет на более качественных наушниках).

    Удалось найти объяснение, что

Quote
В Андроид ОС до 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)

 
Title: Re: [418] Отличие OpenSL от AudioTrack
Post by: Soolo on September 10, 2017, 15:25:07
    И ещё вопрос - можно ли улучшить качество звука при методе "AudioTrack", так как при методе "OpenSL" звук выходит лучше? (Определить разницу легче будет на более качественных наушниках).
Если у вас что-то хуже на одном из методов - разбирайтесь с вашей прошивкой (см. выше про "улучшайзеры"). Т.к. данные в обоих случаях отправляются одни и те же
Title: Re: [418] Отличие OpenSL от AudioTrack
Post by: Artem on September 10, 2017, 16:30:17
На сколько я могу судить, у нас сейчас используется AudioTrack (java)