Добрый день. Подскажите, может кто-то сталкивался с таким вопросом, на флешки имеется (например 3 трека), неоходимо что бы определенный трек проигрывался определенное количество раз или повторялся неколько раз в отведенное время. Пользуюсь библиотекой “DFRobotDFPlayerMini.h”. Если использовать цикл с задержкой, то получается что нужно каждый раз знать длительность трека, иначе трек прерывается и начинается заново. Как можно реализовать?
Выяснить длительность нужно один раз и запомнить, и потом использовать сохраненное значение. Если у вас на флешке ВСЕГО ТРИ ТРЕКА, мне кажется это не задача для образованного человека.
А для продвинутых в DFPlayere есть сигнал “занято”, который позволяет определить, что плеер все еще воспроизводит предыдущий трек. Правда не во всех модулях этот сигнал правильно работает
Суть в том, что треки может записывать любой пользователь подключив плеер как флешку, а вот каждый раз звать знающего человека, поправить код, уже будет неудобно. А сигнал “занято” в имеете ввиду отслеживание выхода BUSY?
ага, его
А если длительность заранее неизвестна и сигнал BUSY не работает, то на мой взгляд задача решения не имеет.
Компьютерные плееры как то определяют время звучания трека. Наверняка где то это время прописано в заголовке мр3 файла. Можно ещё по размеру файла оценить приблизительно время звучания (вывести некий коэффициент.), но это если будет битрейт одинаковый опять же.
Никогда об этом не задумывался, а ведь и реально DFPlayer этот похоже не умеет отдавать никакого “trackinfo”.
Мне попался модуль dfplayer с надписью на плате “MP3-TF-16P”. C библиотекой DFRobotDFPlayerMini даже проигрывание трека из папки не работало - тут спасла библиотека DFPlayerMini_Fast. Проверку проигрывания трека пришлось брать с контакта BUSY.
“пришлось” ? - тяжело было, наверно?
А откуда еще вы планировали ее брать?
Таки можно по сериалу запрашивать. Но там свои заморочки
В зарубежных тырнетах у кого-то получается брать состояние с методов readState() \ isPlaying(). Видимо модули оригинал.
Спасибо, пока сделал через цикл с заданием в ручную времени, но тему не закрываю, может что-то придумаю с автоматическим опрделением времени трека