Показать сообщение отдельно
Старый 14.09.2014, 23:22   #212
aluver
Старший Пользователь
 
Регистрация: 05.07.2014
Возраст: 47
Регион: 34
Сообщений: 179
aluver is a glorious beacon of lightaluver is a glorious beacon of lightaluver is a glorious beacon of lightaluver is a glorious beacon of lightaluver is a glorious beacon of lightaluver is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от tsynik Посмотреть сообщение
Как раз эти команды никак не привязаны к какому-либо железу, назначаются на произвольные коды и определены для разных клавиатур в .kl файлах (/system/usr/keylayout/*.kl), типа того:

key 217 VOLUME_DOWN
key 139 VOLUME_UP
В Generic.kl есть:
key 113 VOLUME_MUTE
key 114 VOLUME_DOWN
key 115 VOLUME_UP
В андроид попадают только через интерпретатор команд платы MCU магнитолы, но есть прога CarAudioService, которая "слушает" этот поток и по указанным ей кодам кнопок MCU генерирует события нажатия кнопок Андроид. Вот только автор ограничился воспроизведением/паузой и сменой треков. И на ЛС на xda не отвечает...
Ну ничего, найдем программистов. Главное - правильно сформировать ТЗ.
Цитата:
Сообщение от tsynik Посмотреть сообщение
Если нажатия этих кнопок как-то попадают в Андроид (KeyEvent Display из Маркета в помощь) - то можно назначить на них любые действия через .kl файлы.
Огромное спасибо за наводку!

Цитата:
Сообщение от tsynik Посмотреть сообщение
Бессмысленное действие. Поток 44100 16bit имеющий качество компакт-диска, не станет лучше, а скорее всего только хуже после любых преобразований (плюс это доп. вычислительная нагрузка).
Ограничения Android - надуманные, по большому счету их нет, просто не добавлены большие частоты в framework / библиотеке вывода звука. Я например добавлял 48000 в либу для A10, и так же можно было дописать туда 96000 или 24bit, вот только - зачем? Где источники в таком разрешении и что именно будет это раскодировать в вашей машине?
Цель - не дать убить звук на малой громкости. Ведь чем меньше громкость в случае регулировки ее в цифре, тем меньше эффективная используемая разрешающая способность. И тем больше эффект округления текущих значений амплитуды, после деления исходного значения пропорционально проценту уменьшения громкости. Грубо говоря, если человек способен "расслышать" низкий битрейт и на малой громкости, то в данном случае, из-за _относительного_ снижения битности каждого значения амплитуды, при уменьшении громкости он услышит худший звук, нежели услышал бы при регулировке громкости усилителем. Это как пытаться нарисовать график по точкам на миллиметровке, только не целом всем листе, а на маленькой узкой и длинной полоске от этого листа. То есть звук при громкости 50% будет уже по сути не 16/44, а 8/44. А 50% громкости это еще очень разбираемая громкость. И так далее, дальше/ниже - хуже.
Усилитель по коаксиалу от USB-DAC может переварить 96/24 и даже больше. Так почему не использовать это? Прибавили дополнительные разряды к 16 битам, повысили частоту и крутим громкость практически без потерь "разрешения" звука.
А нагрузка вычислительная не больше, чем от любого программного эквалайзера. Добавленные дополнительные разряды первоначально заполняются нолями, а вот алгоритм повышения частоты можно и посложнее выбрать. Здесь уже интерполяция в помощь. Ну уж если современные камни справляются с задачами эмуляции профессиональных процессоров эффектов, то быстродействие на регулировке громкости пострадать не должно. У меня двухъядерный 1,6ГГц, должно хватить .
aluver вне форума   Ответить с цитированием