DFPlayerMini
- Войдите на сайт для отправки комментариев
Втр, 15/02/2022 - 14:52
Здравствуйте Ув. участники форума!
Подскажите библиотеку для DFPlayerMini.
Задача: нужно чтобы с папки мр3 музыка (0001.мр3...0255.мр3) воспроизводилась рандомно, а по окончанию работы воспроизводился файл "сеанс окончен".
Вопрос: как сделать это?, чтобы в процессе рандомного воспроизведения не воспроизвелся файл "Сеанс окончен".
СПАСИБО!!!
Для начала хотелось бы услышать Вашу версию насчет того, что такое "рандомное воспроизведение".
Потому как может оказаться, что:
1. Ваша задача невыполнима.
2. Результат Вас не устроит (например, возможно повторное воспроизведение того же самого трека).
чтобы воспроизводилось в случайном порядке, повторение песен не страшно, а воспроизведение файла во время сеанса, который должен прозвучать по команде в конце не хотелось бы!
Нормально так, только "сеанс начался" - фиииигак и сразу же - "сеанс окончен", все по домам )))
По-простому: берется массив на 254 элементов, туда записываются числа от 1 до 255. Потом по нему пускается цикл с рандомайзом, который переставляет элементы массива. Затем осуществляется последовательный проход и каждый элемент массива скармливается плееру в качестве номера трека. После окончания прохода воспроизводится трек "сеанс окончен".
Мысль очень хорошая, можете примерчик показать, я начинаю познавать тонкости ide, СПАСИБО!!!
Мысль очень хорошая, можете примерчик показать, я начинаю познавать тонкости ide, СПАСИБО!!!
А причём тут тонкости IDE? Тебе полный алгоритм дали - воплоти его в код. Если что-то не будет получаться - ВМЕСТЕ С КОДОМ (то есть предоставив его по всем правилам форума) спросишь ещё раз.
Мысль очень хорошая, можете примерчик показать, я начинаю познавать тонкости ide, СПАСИБО!!!
Все "примерчики" я прогоняю в железе. А это требует времени гораздо больше, чем написать "Мысль очень хорошая". Если нужен готовый и отлаженный скетч - обращайтесь в "Ищу исполнителя".
Спасибо!
Я подумал что мне тут могут посоветовать библиотеку с функционалом например таким, который помог бы мне решить мою проблему,
Играй всю папку условно "sd:/0001" по кругу, а если надо обратится к конкретному треку то играй папку "sd:/0002/0001.мр3"
Я использую "DFPlayerMini_Fast.h", у нее есть myMP3.play(24) - играй конкретный трек "0024", myMP3.randomAll() - играй папку mp3 случайно.
в ней нет обращения к конкретным папкам, чтобы можно было файлы раскидать и нет рандома например от1 до 20 или играй рандомно конкретную папку, да и вообще не понятно как влк play типа играй по порядку, она не понимает что песне конец и надо след, так работает только в рандоме, но рандом захватывает треки которые должны звучать по команде.
Не надо мне "примерчиков"))), посоветуйте библиотеку с похожим функционалом!
Такой библиотеки не встречал. Это частное решение, которое нет особого смысла "библиотезировать".
Насколько я помню - DFPlayer вообще на имена может не смотреть в некоторых командах. Играет по тому порядку, в котором файлы писались на флешку.
Неправильно вставленный код буду удалять. Правила почитай хотя бы счас, если за 5 лет не сподобился
Забыл )
Есть мысль все сделать так: играй от 1 до 20 трека а 21,22,23 обращаться по команде, не понятно только как ардуино поймет что надо играй след трек. В примерах все реализовано через "delay"
Есть мысль все сделать так
Что вы фигней маетесь... вам же Садман написал, как сделать. Чем вас не устраивает его решение?
Если не ошибаюсь, у плеера можно запросить статус - играет он еще текущую песню или уже закончил. Запустили одну, как закончил - запускайте следующую... и так в цикле по всем.
меня поражает, сколько вопросов на форумах по этому плееру... вещь-то простейшая, вроде...
Насколько я помню - DFPlayer вообще на имена может не смотреть в некоторых командах. Играет по тому порядку, в котором файлы писались на флешку.
так и есть!!
долго искал причину, проводник виндовса своими потоками записывает пронумерованные по феншую файлы на флешку в хаотичном порядке, а потом разбирайся почему на имя 00001.mp3 проигрывается все что угодно только не нужный файл, и да стирание и перезапись не помогает, нужно форматирование, видимо FAT читает как то "специфично" .
ой не простая... поверь, а еще кол-во модификаций, короче совсем не простая.
это если нужен мало мальский функционал, "пропеть одну песенку" - тут, да, все просто.
я тут наткнулся на еще одно подобное чудо - DY-SV17F, вот жду пока придет.
проводник виндовса своими потоками записывает пронумерованные по феншую файлы на флешку в хаотичном порядке
известная фигня. У меня в машине СД-чейнджер тоже читает файлы с диска не по именам, а в том порядке, как они записывались на диск.
Борюсь так - сначала переименовываешь файлы в нужном порядке, потом открываю проводник, сортирую файлы по именам и копирую в чистую пустую папку. А вот уже из этой папки пишу на носитель. Файлы оказываются отсортированы строго в нужном порядке
FAT выделяет первую свободную запись каталога...поэтому файл с именем 1.ххх может быть где угодно
FAT выделяет первую свободную запись каталога...поэтому файл с именем 1.ххх может быть где угодно
очередное бессмысленное сообщение
ничего себе как тут все по делу)
Ришени нашел пока такое: на флешке папка 01 содержит треки, 02 команды,
вызываю так
а проигрываю так
все песни играют одна за другой но есть огромный минус они играют всегда с 1 и закончится допустим на 5,
а когда вкл ардуино опять начинают играть с 1 по куда успеет например по 5ю, а хочется чтобы продолжалось воспроизведение с остановившейся, пробывал играться с
"
myDFPlayer.advertise" но не понял как оно раб, в "
myDFPlayer.randomAll()" зацепляет треки из папки 02, подскажите как сделать рандом только папки 01 ПЛИЗ! бошка уже пухнет)))PS
для паузы но не срабатывает
у плейера есть пин накотором 0 если работает и 1 если висит. Подключаем его к пину 9. У меня есть фрагмент кода проигрывающий случайные песни (до 255 ) по их номеру записи, которую 1 записали та и первая. В loop() пишу
вызывают функцию проигрывания
Остается только счетчик поставить чтобы выйти из прокрутки.
Забыл )...
ты где спер этот код?
и зачем сюда его поместил?
Я записываю так: скидываю файлы в каталог на диске, фаром туды иду, сортирую по имени и фаром же копирую на пустую карту. Все ложится как следует, номера в именах соответствуют физическому положению файлов.
Ну я его не спер а взял из примера библиотеки, к чему этот вопрос не понимаю.
Да вы все верно сказали, busy если не ошибаюсь.
Этот код сходится с библиотекой? Или надо др ?