-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Обновление списка треков в потоке #6
Comments
В данный момент эта функция находится в процессе разработки. Воспроизведение из потоков добавлено в качестве экспериментальной функции. Это не окончательный вид функции, возможно он будет переработан. |
Первая попытка решения данного вопроса сделана 8aadba2 |
Как я и предположил, в определённый момент поток встал. Не помогло и то, что я подключился к сигналу смены трека вместо использования виртуальной функции окончания трека 8b31d32 |
А что такое "определенный момент"? Из приложения тоже не бесконечно играет. |
Как я писал ранее, в какой-то момент функция |
По часам ответить не могу, но приложение на андроиде или браузерная версия у меня тоже в иной момент прекращает петь, думая, что я умер. 2-3 часа - уже отличный результат. Можно прикрутить какую-то кнопку "начать сначала"? Будто закрыли клиента и запросили заново список? И с этим уже жить можно. |
Я вот пока тестирую эту фичу, и вижу, что она слишком часто запрашивает песни. Я слушаю только 7 песню в потоке, а она уже догрузила 20 будущих. Офф приложение вроде так не спешит. Как я понимаю, надо иметь в памяти сколько есть в запасе и не грузить следующие (28ю) при перемотке с 6 на 7. |
Я уже некоторое время тестирую вариант запроса треков только если в списке остался 1 трек. Вроде работает более менее стабильно, но иногда бывает, что поток останавливается из-за того, что новых треков из потока не было получено. Добавил это изменение в ветку |
@feschukov у меня играет песен 25 примерно и останавливается поток, может добавить там несколько ретраев если первый запрос обломался? |
У меня пока ни разу не прерывался поток, правда я пока пробовал только Моя волна, остальные потоки вроде и так ограничены даже в браузере, не раз видел что некоторые потоки по 25-30 треков, полагаю что это нормально, если это и баг, то скорей всего не плагина, а самой яндекс музыки |
Тоже Мою волну слушаю, она и останавливается переодически, может у меня сеть конечно нестабильная просто, но кажется поретраить стоит всё таки, и может запрашивать не за один трек, а за парочку, чтобы точно успеть новую пачку получить |
Первый же раз стопнулось на 30 песне |
Второй раз на 23й стопнулось. Прошлая сборка работала надёжнее :) |
Дебагом выяснил что происходит примерно. При обновлении фида, в self.last_track пишется трек который уже был проигран ранее (подозреваю потому что он просто вернулся из апишки ещё раз). Соответственно он по факту не last, и когда воспроизведение доходит до настоящего последнего трека, обновление не происходит, потому что сравнивается текущий трек и неправильный из self.last_track. Кажется нужно иначе определять что мы дошли до конца списка воспроизведения. |
Попробовал улучшить обновление фида: #36 |
Предлагаю протестировать публично ваше решение. Это изменение уж точно ничего не поломает. Теоретически может помочь. Принял PR, спасибо за помощь. |
@feschukov сейчас появилась другая идея, может быть удалять из db треки которые пришли повторно и снова их добавлять? Если сработает тогда повторения не страшны и по идее поток станет гарантированно бесконечным |
Проблема: для продолжения прослушивания после достижения финальной композиции не происходит автоматической подгрузки треков
![image](https://user-images.githubusercontent.com/32351202/162923003-b8aa9b29-1722-4b6c-9edd-cdedff9d3295.png)
The text was updated successfully, but these errors were encountered: