AIMP Forum
AIMP for Android => Вопросы / Questions => Topic started by: snegok74 on January 15, 2024, 22:03:18
-
Здравствуйте!
У меня есть Bluetooth пульт который умеет отправлять команды на телефон MEDIA_NEXT и MEDIA_PREVIOUS и MEDIA_REWIND, MEDIA_FAST_FORWARD.
Но при кратковременном нажатии MEDIA_NEXT и MEDIA_FAST_FORWARD ведут себя одинаково переключая Aimp на следующий трек. При долгом же нажатии они тоже ведут себя одинаково, делают перемотку немного вперед.
Можно ли сделать чтобы однократно отправленные команды MEDIA_REWIND и MEDIA_FAST_FORWARD перематывали немного текущий трек?
Так же мой Bluetooth Remote Control может отправлять команды MEDIA_SKIP_FORWARD,MEDIA_STEP_FORWARD,MEDIA_SKIP_BACKWARD и MEDIA_STEP_BACKWARD
возможно они отвечают за перемотку "немного вперед", но они как будто не отрабатываются в Aimp.
И, в любом случае, спасибо за такое клёвое приложение!
-
Включите в диалоге "о программе" журналирование ошибок, повторите ошибку, а потом пришлите полученный файл нам.
-
Во время подготовки логов использовались длительные нажатия KEYCODE_MEDIA_NEXT и KEYCODE_MEDIA_FAST_FORWARD.
А потом короткие нажатия этих же кнопок.
-
Странно, судя по логу перемотка-таки была:
onStartCommand({intent:com.aimp.service.action.fastForward,null,{; com.aimp.extra.caller=<external>}}, 0, 34)
-
Можно ли сделать чтобы однократно отправленные команды MEDIA_REWIND и MEDIA_FAST_FORWARD перематывали немного текущий трек?
Через блютус интерфейс - нет. Есть много гарнитур, которые вместо кнопок next/prev track имеют rewind/fastForward
-
Печально осознавать что, поведение "неправильных гарнитур" вам приходится исправлять "неправильным поведением" своего приложения.
Хотя, в наше время, при бесконечном разнообразии кривых девайсов и программ, немалая доля ПО является своего рода "заплатками". ???
-
Странно, судя по логу перемотка-таки была:
onStartCommand({intent:com.aimp.service.action.fastForward,null,{; com.aimp.extra.caller=<external>}}, 0, 34)
Перемотка была т.к. удержание любой из кнопок (в т.ч. и KEYCODE_MEDIA_NEXT) на время, видимо более 300мс, (onDown(300, h)) приводит к перемотке(com.aimp.service.action.fastForward).
main 16/01/2024 01:12:22.649 D/MediaButton: KeyEvent(app.activity, KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_MEDIA_NEXT, scanCode=103, metaState=0, flags=0x8, repeatCount=0, ... })
main 16/01/2024 01:12:22.650 D/MediaButton: wakeLock acquired
main 16/01/2024 01:12:22.653 D/ClickSplit: onDown(300, h)
main 16/01/2024 01:12:22.960 D/ClickSplit: onHold
main 16/01/2024 01:12:22.962 D/AppService: start(<external>, com.aimp.service.action.fastForward)
main 16/01/2024 01:12:22.974 D/AppService: onStartCommand({intent:com.aimp.service.action.fastForward,null,{; com.aimp.extra.caller=<external>}}, 0, 32)
-
Перемотка была т.к. удержание любой из кнопок (в т.ч. и KEYCODE_MEDIA_NEXT) на время, видимо более 300мс, (onDown(300, h)) приводит к перемотке(com.aimp.service.action.fastForward).
В таком случае, видимо, я не понял сути бага...
-
Попробую описать как я это вижу.
Сейчас алгоритм обработки команд MEDIA_* такой:- MEDIA_FAST_FORWARD (нажатие более 0,3сек) -> com.aimp.service.action.fastForward
- MEDIA_NEXT (нажатие более 0,3сек) -> com.aimp.service.action.fastForward
- MEDIA_FAST_FORWARD (нажатие менее 0,3сек) -> com.aimp.service.action.nextTrack
- MEDIA_NEXT (нажатие менее 0,3сек) -> com.aimp.service.action.nextTrack
- MEDIA_REWIND (нажатие более 0,3сек) -> com.aimp.service.action.rewind
- MEDIA_PREVIOUS (нажатие более 0,3сек) -> com.aimp.service.action.rewind
- MEDIA_REWIND (нажатие менее 0,3сек) -> com.aimp.service.action.prevTrack
- MEDIA_PREVIOUS (нажатие менее 0,3сек) -> com.aimp.service.action.prevTrack
Более логичный(повторюсь, по моему мнению) следующий:- MEDIA_FAST_FORWARD -> com.aimp.service.action.fastForward
- MEDIA_NEXT -> com.aimp.service.action.nextTrack
- MEDIA_REWIND -> com.aimp.service.action.rewind
- MEDIA_PREVIOUS -> com.aimp.service.action.prevTrack
:-\
Возможно есть какой то переключатель, такого поведения, в настройках, который я не заметил?
-
Решил проверить как у конкурентов обстоят дела с этим... Из пяти топ плееров предложенных интернетом(не считая Aimp конечно же) только у одного поведение, скажем так, правильное.
Но, при этом конечно же фичи с удержанием/кратковременным нажатием кнопки у них нет ни у кого. Так что в Aimp это реализовано очень даже круто, особенно когда у вас гарнитура такая...
... Есть много гарнитур, которые вместо кнопок next/prev track имеют rewind/fastForward
Было бы очень круто иметь возможность выбирать в настройках из этих двух методов перемотки.
-
Можете попробовать и прислать лог вот от этой версии?
https://disk.yandex.ru/d/UH7_W-RyE7t0WQ
-
Можете попробовать и прислать лог вот от этой версии?
https://disk.yandex.ru/d/UH7_W-RyE7t0WQ
Работает так же как и раньше, по моему.
Если речь о том что "Плеер - иногда не переходит на следующий трек", то я такой ошибки не видел((
-
Работает так же как и раньше, по моему
Да, так и должно быть. Если я правильно понимаю, когда вы работаете с пультом - плеер у вас развернут на весь экран, верно?
-
Нет. Не на весь экран.
Либо экран совсем выключен либо на экране текст аудиокниги.
-
Жаль, тогда без опции точно никак - плеер не сможет определить тип устройства.