AlsaMixer для Android

в 18:38, , рубрики: alsa, alsamixer, android, метки: , ,

Порой бывает необходимо увеличить громкость телефона, но что если громкость и так на максимуме? Если телефон имеет root-права, то можно попробовать обращаться напрямую к драйверу через ALSA.

Установка ALSA

Отсюда можно скачать архив с альсой, скопируйте из него папку system в телефон без замены файлов, или обязательно сохраните уже существующие файлы, это можно сделать через Root Explorer, например. Дайте права скопированным файлам 644 для /system/lib/libasound.so, папке /system/usr/share/alsa и 755 для файлов alsa_* в /system/xbin. Поздравляю, ALSA установлена.

Работа с ALSA

Для начала, посмотрите какие контролы присутствуют в вашем телефоне. Для этого выполните следующее:
$ adb shell
$ su
# alsa_amixer


Если результат будет, то он будет примерно следующий:

Simple mixer control 'Speaker Function',0
Capabilities: enum
Items: 'On' 'Off'
Item0: 'On'
Simple mixer control 'FM Volume Control',0
Capabilities: enum
Items: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' '14' '15'
Item0: '0'

и куча других подобных контролов. Если alsa_amixer такого списка не выведет, то, скорее всего, ваш телефон не поддерживает альсу (например, HTC Desire).

На каждом устройстве будут свои контролы, поэтому универсального примера я привести не могу. Например, для моего Samsung Galaxy R за громкость основного динамика отвечает:

Simple mixer control 'Playback Spkr',0
Capabilities: volume penum
Playback channels: Front Left — Front Right
Capture channels: Front Left — Front Right
Limits: 0 — 63
Front Left: 60 [95%]
Front Right: 60 [95%]

Как видно, текущее значение — 60, максимальное — 63. Чтобы изменить текущее значение, воспользуемся командой (не забываем про # alsa_amixer -help):
# alsa_amixer sset 'Playback Spkr' '63'

И если это выполнять во время прослушивания музыки на телефоне, то увеличение громкости будет заметно.

Хочу также сказать, то что это не совсем универсальный способ, на телефоне может не быть альсы или не быть нужного контрола. В любом случае, пробуйте, проверяйте и экспериментируйте, а в комментариях пишите о своём опыте.

AlsaMixer

Для тех кому лень всё делать самостоятельно, я написал небольшую программку, которую можно бесплатно скачать с Google Play. Она за вас установит альсу, выведет список контролов и позволит менять их значения.

Автор: skvalex

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js