Это вряд ли. Летом шли посылки 30 дней из Китая, сейчас я еще заказы от 1-2 августа не получил - они еще на таможне в Оренбурге, так что недели две еще - итого два месяца. В лучшем случае.
Вот описание WTV020 на русском: http://voice-chip.ru/waytronic4.htm Требования к файлу из даташита: AD4 Sampling rate supported form 6KHz ,8KHz,10KHZ .... 32KHz max. Support WAV, 16Bit, mono format.
Подозреваю, что созданный конвертером AD4 уже сам по себе предполагает соответствие требованиям, и моно и битрейд.
Там всего одна кнопочка, которая дает возможность изменить битрейд от 4 до 32кбс, но согласно даташиту плеер тянет 32000 было бы место на карточке. Так что настроек там, можно сказать, нет. Для чистоты эксперимента пробовал менять битрейд, толку нет.
Ну не знаю тогда в чем косяк. С другой картой пробовал? Питание больше 3.5 не подавал? (от этого карта умирает). У меня два таких валяется, могу подарить, если надо, ибо без mp3, с конвертацией каждый раз не хочется заморачиваться. Один точно работает (питание 3.3 В с внешнего стабилизатора, карта 2 Гб в FAT, динамик 4 Ом работает, выход на наушники тоже работает, команды по UART выполняет), второй даже не распакован.
Спасибо конечно, но далековато ехать. ) Куплю другой мп3 модуль, который мп3 понимает и видит карты сделаные позже эпохи динозавров.
В общем, запиликал мой мп3. Как и предполагал, дело было в сд карте, с трудом нашел на 1Гиг и заработало. Мнение о плеере не поменял - инвалид.
посмотрите, как отформатирована эта карта - какие сектора? Имхо можно и 2г также форматнуть, чтобы и с ней работал ваш инвалид.
Так же точно отформатирована. Вариантов то всего три, перебрать не долго. В даташите сказано про максимум 1Гб, наверное так и есть.
Новая и странная информация об этом чекнутом плеере. Широко известна библиотека работы с этой штукой через Ардуино. Есть и описание основных команд, например: Казалось бы, все просто и понятно, НО! Реально wtv020sd16p.playVoice(0); работает точно так же как wtv020sd16p.asyncPlayVoice(0); то есть не ждет окончания проигрывания файла. Это очень не хорошо для случаев, когда например в разных ситуациях следует проиграть только один тот или иной файл. Разобрав библиотеку видим такой код для проигрывания с ожиданием конца файла (определяется по HIGH на ноге busy): Код (C++): void Wtv020sd16p::playVoice(int voiceNumber){ sendCommand(voiceNumber); delay(100); _busyPinState=digitalRead(_busyPin); while(_busyPinState==HIGH){ _busyPinState=digitalRead(_busyPin); } sendCommand(STOP); } Казалось бы все верно, но не работает. А почему? А потому, что эта самая busy мигает на долю секунды через долю секунды после запуска асинхронного проигрывания, чем сбивает ожидание. Странно, что никто этого не проверил и не убедился, что функция неработоспособна. Варианта исправить два. Первый, написать свою функцию: Код (C++): void playerSA(byte i) { wtv020sd16p.asyncPlayVoice(i); delay(100); bool DR5 = digitalRead(busyPin); while (DR5 == HIGH) { DR5 = digitalRead(busyPin); } wtv020sd16p.stopVoice(); } И она работает наконец то как надо! Кому требуется, забирайте. Второй: исправить библиотеку, но тут я натолкнулся на проблему, т.к. она не в простом текстовом файле, а в неформатированном и как ее туда обратно сохранять не повредив непонятно. Этот вопрос, конечно, относится уже не к плееру, а к IDE, но все же, как?