0 Members and 1 Guest are viewing this topic.
Тут у меня вопрос: возможно ли переопределять класс MediaSessionCompat каждое нажатие на "play" и перехватывать сессию заново?
Лог с примером: https://drive.google.com/file/d/1oX03qO9j63xD2YTMJynJCzViWCp1tOiW/view?usp=sharingНажатие на кнопку во сне - 03:06:01Начало проигрывания - 03:06:54
Насколько я понимаю, некоторые плееры перед тем, как начать воспроизведение, проверяют наличие wakelock'а и если ничего нет (то есть девайс спит)
Обе эти проблемы я не наблюдаю в данном проекте, может это как-то поможет:https://github.com/AP-Atul/music_player_lite/blob/main/src/app/src/main/java/com/atul/musicplayerlite/player/PlayerService.java
Вот, попробуйте:
Давайте пока разберемся со второй проблемой, а то путаница в голове (вот почему я прошу создавать по одной теме на баг).
И что изменилось, если не секрет?
Как скажете) Да, работает отлично, спасибо! Нужны какие-то логи с неё?
Вот еще сборка, давайте устроим финальный прогон (я подчистил код и оформил решение как надо):
Пардон, мой косяк, поправил:https://disk.yandex.ru/d/1AoIWleyUBn92Q
19:05:00 - дамп медиасессии19:05:32 - запустил другой плеер и нажал на "play"19:05:40 - дамп медиасессии
19:06:33 - возвращаюсь в aimp и нажимаю на "play" в виджете19:07:02 - дамп медиасессии
Если не секрет - что за инструмент использовался для дампа?
В качестве эксперимента, попробуйте, как будет вести себя вот эта сборка:
От типа вывода звука это же никак не зависит?
А у вас какой метод вывода установлен?
Ставлю AudioTrack обычно (судя по всему в авто он же выбирается?), только с ним при закрытии и открытии сервиса aimp переключается этот MediaButtonReceiver.
А у вас требование аудиофокуса для воспроизведения не отключено, случаем?
система засекает факт старта воспроизведения и переключает медиа сессии.
и в MediaButtonReceiver всегда последний проигрываемый плеер? Вы через гарнитуру проверяете?
ведь гарнитура будет управлять тем плеером, который сейчас играет)
Дык в этом-то и проблема, что нет)
Видимо, придется искать похожее устройство...
А нет ли, случайно, какого-то открытого проекта с похожей реализацией вывода звука, чтобы я сам мог пособирать у себя, может чего накопаю?
Знать бы, что именно влияет - тогда бы я смог что-то посоветовать. Так-то у меня ничего особенного и не используется.
Подозреваю, что есть какая-то разница при запуске сервиса и просто старта проигрывания по тапу на кнопку.
Через какую именно кнопку запускали?
Причем в самом плеере когда нахожусь, хардверные кнопки управляют аимпом
Да тут не играет роли, запускал и через виджет на раб. столе и через шторку уведомлений (там вообще куча плееров висит) и через основной экран самого плеера. Причем в самом плеере когда нахожусь, хардверные кнопки управляют аимпом, но стоит перейти на рабочий стол, то всё...
Какой именно у вас Hiby R5? Первого или второго поколения?
Первого, но думаю у всей линейки R (R5, R6, R8), которая на андроиде примерно одинаковое ПО + Cayin N6ii + Tempotec V6 скорее всего тоже.
Попробуйте эту сборку:
Спасибо огромное, всё теперь работает. Куда донатить?)
P.S. Эти изменения попадут в официальные версии или это эксклюзив?
Как удалось решить?
Увы, у меня кроме СПБ больше ничего и не осталось...Да они попадут, но в данный момент они эксклюзив для устройств HiBy. Вот сейчас размышляю, как лучше сделать: патч применять для всего, для hiBy или опцию ввести.Делаю рестарт output-а на низком уровне при получении фокуса
СБП имеете в виду? Давайте номер, попробую) Интересно, конечно, неужели это очередной косяк хибарей?
Странно что у множества других плееров, кроме poweramp такого не наблюдается...