Страница: 1 |
Страница: 1 |
Вопрос: Random playlist [vb6]
Добавлено: 13.06.09 12:54
Автор вопроса: Winand | Web-сайт:
Есть коллекция объектов в каждом из которых содержатся данные о композиции. Хочу сделать рандом-плейлист. Как?)
Можно было бы сделать еще одну коллекцию, в которую случайным образом добавить номера элементов основного списка. Но тогда возникают проблемы при пересортировке списка / удалении из него элементов.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #1
Добавлено: 13.06.09 12:55
?! При переходе на следующий элемент тупо не следующий бери, а случайный
Номер ответа: 2
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #2
Добавлено: 13.06.09 12:55
Проще всего выбирать случайные песни из списка с помощью функции rnd и играть их, но так никто не делает)
Номер ответа: 3
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #3
Добавлено: 13.06.09 12:57
Вот-вот VBD именно об этом я только что написал)) В винампе и вообще везде явно создается отдельный плейлист, потому что кнопки Prev\Next работают как обычно
Номер ответа: 4
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #4
Добавлено: 13.06.09 13:04
Ну так ты когда переходишь на новый элемент, ты бери, и запоминай его в стек. А когда Prev - тупо в стеке назад перемещайся. Как Undo.
Номер ответа: 5
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #5
Добавлено: 13.06.09 13:10
Хм.. тоже можно, памяти меньше надо
только это не избавляет от повторений - одни песни не играются, другие играются по нескольку раз
Номер ответа: 6
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #6
Добавлено: 13.06.09 13:25
Я же говорю, юзай стек - Если размер стека меньше размера плейлиста, то, что уже было, не играй. Если размер стека равен или больше (?!) размера плейлиста (т.е. все что можно уже проиграли) - тогда очищай стек и по новой))