MP3 плеер

Тема в разделе "Посоветуйте детальки", создана пользователем DrProg, 15 сен 2015.

  1. Onkel

    Onkel Гуру

    Это вряд ли. Летом шли посылки 30 дней из Китая, сейчас я еще заказы от 1-2 августа не получил - они еще на таможне в Оренбурге, так что недели две еще - итого два месяца. В лучшем случае.
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    Вот описание WTV020 на русском: http://voice-chip.ru/waytronic4.htm
    Требования к файлу из даташита:
    AD4 Sampling rate supported form 6KHz ,8KHz,10KHZ .... 32KHz max.
    Support WAV, 16Bit, mono format.
     
  3. DrProg

    DrProg Вечный нерд

    Подозреваю, что созданный конвертером AD4 уже сам по себе предполагает соответствие требованиям, и моно и битрейд.
     
    ИгорьК нравится это.
  4. Tomasina

    Tomasina Сушитель лампочек Модератор

    Конвертер по-разному можно настроить, там же нет кнопочки "Сделать идеально" :)
     
  5. DrProg

    DrProg Вечный нерд

    Там всего одна кнопочка, которая дает возможность изменить битрейд от 4 до 32кбс, но согласно даташиту плеер тянет 32000 было бы место на карточке. Так что настроек там, можно сказать, нет. Для чистоты эксперимента пробовал менять битрейд, толку нет.
     
    ИгорьК нравится это.
  6. Tomasina

    Tomasina Сушитель лампочек Модератор

    Ну не знаю тогда в чем косяк. С другой картой пробовал? Питание больше 3.5 не подавал? (от этого карта умирает).
    У меня два таких валяется, могу подарить, если надо, ибо без mp3, с конвертацией каждый раз не хочется заморачиваться. Один точно работает (питание 3.3 В с внешнего стабилизатора, карта 2 Гб в FAT, динамик 4 Ом работает, выход на наушники тоже работает, команды по UART выполняет), второй даже не распакован.
     
  7. DrProg

    DrProg Вечный нерд

    Спасибо конечно, но далековато ехать. )
    Куплю другой мп3 модуль, который мп3 понимает и видит карты сделаные позже эпохи динозавров.
     
    ИгорьК нравится это.
  8. DrProg

    DrProg Вечный нерд

    В общем, запиликал мой мп3. Как и предполагал, дело было в сд карте, с трудом нашел на 1Гиг и заработало. Мнение о плеере не поменял - инвалид.
     
    ИгорьК нравится это.
  9. Onkel

    Onkel Гуру

    посмотрите, как отформатирована эта карта - какие сектора? Имхо можно и 2г также форматнуть, чтобы и с ней работал ваш инвалид.
     
  10. DrProg

    DrProg Вечный нерд

    Так же точно отформатирована. Вариантов то всего три, перебрать не долго. В даташите сказано про максимум 1Гб, наверное так и есть.
     
    ИгорьК нравится это.
  11. DrProg

    DrProg Вечный нерд

    Новая и странная информация об этом чекнутом плеере. Широко известна библиотека работы с этой штукой через Ардуино. Есть и описание основных команд, например:
    Казалось бы, все просто и понятно, НО! Реально 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, но все же, как?
     
    ИгорьК нравится это.
  12. Megakoteyka

    Megakoteyka Оракул Модератор

    Notepad++ спасет отца русской демократии.
     
    DrProg нравится это.
  13. DrProg

    DrProg Вечный нерд

    Разобрался, спасибо, поправил, все работает как должно.
     
    Последнее редактирование: 22 сен 2015
    ИгорьК нравится это.
  14. DrProg

    DrProg Вечный нерд

    Да, если кому нужна исправленная библиотека, вышлю.
     
    ИгорьК нравится это.