Skip to content

Проигрывать / рандомайзер работают не на весь список #97

@raxefron

Description

@raxefron

В запросе к сервису контакта параметр количества треков задан как:
options.count = options.count || 300;

расчет индекса следующей песни
nextTrackIndex = (currentTrackPlaylistIndex + 1 < playlist.length) ? currentTrackPlaylistIndex + 1 : 0;
то есть не больше чем количество срендереных элементов ($$(".music p.song"))

в результате: даже если список песен контакта содержит больше чем 300 элементов то будут проигрываться только первые 300 (если не сделать скрола несколько раз для загрузки всего списка)

audio.get - возвращает количество треков пользователя в элементе count
возможные решения:

  1. поставить options.count = options.count || 6000;(ограничение апи)
  2. использовать для расчета индекса следующей песни максимальное значение = count из audio.get вместо playlist.length, и подгружать при необходимости не подгруженые треки
  3. вариация первого решения - загружать все треки по 300 пока не загрузятся все (если количество пользователя больше 6000)

зы При большом количестве треков возможно памяти сильно много будет использоватся для решения этого можно использовать виртуализацию на UI и заполнять playlist не с $$(".music p.song") а с респонса апи

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions