forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Муз. плеер без перемешивания (http://forum.boolean.name/showthread.php?t=19257)

den 17.06.2014 22:37

Муз. плеер без перемешивания
 
Есть некий mp3 плеер в машине, без режима рандомного воспроизведения. То есть сначала воспроизводит все песни одной группы, потом другой, по алфавиту.

Что бы решить данный косяк, я свалил все файлы в один каталог, дал им рандомные имена (md5 хэш от самого имени) и удалил все теги (id3 v1 и v2).
Но плеер упорно играет песни одной группы, потом другой.

Смотрел файлы в hex редакторе - следов имен группы не найдено. Была мысль что дело во времени создании файла, но нет, на флешку я копировал уже перемешанные файлы.

Может кто знает, как он сортирует файлы?)

impersonalis 17.06.2014 22:57

Ответ: Муз. плеер без перемешивания
 
По таблице файловой системы? По идее там порядок детерминирован* и, вероятно, зависит от времени фактического создания файла.
Емнип, бесплатный портативный HxD умеет просматривать не только тела файлов но и "диск целиком".

* - некоторые используют это как хак, для избавления от рекурсии при построении списка всех файлов

HolyDel 17.06.2014 23:13

Ответ: Муз. плеер без перемешивания
 
может быть он играет файлы по тегам?

SBJoker 18.06.2014 01:46

Ответ: Муз. плеер без перемешивания
 
Импер прав, ирает в порядке следования в таблице FAT32 (если с флешки/карты памяти)

impersonalis 02.07.2014 23:25

Ответ: Муз. плеер без перемешивания
 
Вложений: 2
В общем - провёл эксперимент.

1. Берём SD-карточку. Форматируем (FAT32).
2. Копируем файл boolean1.txt
3. Копируем файл boolean2.txt
4. Открываем диск в HxD
5. Наблюдаем:
Вложение 20669
6. Форматируем (FAT32).
7. Копируем файл boolean2.txt
8. Копируем файл boolean1.txt
9. Открываем диск в HxD
10. Наблюдаем:
Вложение 20670

Таким образом, порядок копирования на носитель влияет на порядок перечисления имён в таблице файловой системы. den, рандомизируй очередь на копирование!

Отмечу ещё, что простое удаление файлов позволяет (при определённом стечении обстоятельств) наблюдать куски прошлой (позапрошлой) таблицы (лично наблюдал). Однако на моих тестовых пустых текстовичках не проканало: их удаление полностью исключило упоминание их имён на диске.

Arton 03.07.2014 00:40

Ответ: Муз. плеер без перемешивания
 
Цитата:

Сообщение от impersonalis (Сообщение 283806)
Отмечу ещё, что простое удаление файлов позволяет (при определённом стечении обстоятельств) наблюдать куски прошлой (позапрошлой) таблицы (лично наблюдал). Однако на моих тестовых пустых текстовичках не проканало: их удаление полностью исключило упоминание их имён на диске.

Становятся немного понятней глюки S75, когда музыка, ВНЕЗАПНО прерывалась куском давным-давно удалённого файла.
Помню даже определённый алгоритм вывел, позволяющий обрезать музыкальный файл.

Получается софт моб. телефона некорректно перезаписывал память.

den 03.07.2014 02:03

Ответ: Муз. плеер без перемешивания
 
Да я сделал уже давно, просто не отписался.
Всё работает, спасибо :)

Если кому надо, скрипт копирует все файлы из текущего каталога (рекурсивно) на флешку в рандомном порядке (bash):
find . -type f | shuf | while read line; do cp "$line" /media/Флешка/shuf_music/; done


Часовой пояс GMT +4, время: 17:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot