Воспроизведение звука, шум в динамике.
- Войдите на сайт для отправки комментариев
Сб, 28/06/2014 - 13:57
Добрый день.
Играю звук вот этой библиотекой. Режим 8 бит моно.
http://www.hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio#Windows_users
Подключаю активный динамик (аудио вход tv, в качестве эксперимента просто) по схеме из примера:
Using amplifier / active speaker / line-in etc.:
Audio-Pin --||--------------[10k resistor]----+----[1k resistor]---- GND
100nF capacitor to amp
Программа играет подготовленные файлы, в зависимости от полученного по serial символа, библиотека деиницилизируется после каждого проигрывания. В наушнике все хорошо, а при подключении тв после проигрывания звука остается фоновый шум. В целом работает так: перезапуск контроллера - в динамике тишина, шума нет. Отправляю символ, играет звук (фоновый шум во время воспроизведения устраивает, 8 бит все-таки), файл заканчивается, шум остается (((
Вот код:
#include <SimpleSDAudio.h>
void setup()
{
Serial.begin(9600);
}
void loop(void) {
if(Serial.available()){
soundplay (Serial.read());
}
}
void soundplay (char s) {
SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER);
switch (s) {
case 'p': SdPlay.setFile("EXAMPLE.AFM"); subplay (); break;
case 'o': SdPlay.setFile("RVP.AFM"); subplay (); break;
case 'i': SdPlay.setFile("RVP.AFM"); subplay ();
SdPlay.setFile("EXAMPLE.AFM"); subplay ();break;
}
SdPlay.deInit();
}
void subplay() {
Serial.println ("play");
// Start playback
SdPlay.play();
// Optional: Wait until playback is finished
while(!SdPlay.isStopped()) {;}
delay (50);
Serial.println ("done");
}
Как победить? Спасибо.
Попробуйте установить пин в хай\лоу после окончания проигрывания
Точно. ))) Помогло, спасибо. ;)