begin()
Описание
Инициализирует библиотеку Audio, устанавливая заданную частоту дискретизации и размер аудио-буфера.
Синтаксис
Audio.begin(rate, size);
Параметры
rate (int): частота дискретизации звукового файла. Для стерео-файла необходимо удвоить эту частоту (например, 44100 КГц в стерео = 88200 КГц).
size (int): размер аудио-буфера в миллисекундах.
Возвращаемые значения
нет
Пример
/* Демонстрация возможностей библиотеки Audio на Arduino Due Системные требования : *Плата расширения Arduino с SD-картой, активируемой 4 выводом (подойдет Arduino Ethernet) *Аудио-усилитель с динамиком, подключенный к выводу DAC0 Автор - Massimo Banzi 20 сентября 2012 Изменено - Scott Fitzgerald 19 октября 2012 */ #include <SD.h> #include <SPI.h> #include <Audio.h> void setup() { // настраиваем последовательный интерфейс на скорость 9600 бод // для вывода отладочных данных Serial.begin(9600); // инициализируем SD-карту Serial.print("Initializing SD card..."); if (!SD.begin(4)) { Serial.println(" failed!"); return; } Serial.println(" done."); // задаем скорость передачи по интерфейсу SPI SPI.setClockDivider(4); // 44100КГц стерео => частота дискретизации 88200 // размер буфера - 100 мс. Audio.begin(88200, 100); } void loop() { int count=0; // открываем wav-файл на SD-карте File myFile = SD.open("test.wav"); if (!myFile) { // если открыть файл не удалось - выводим ошибку и завершаем программу Serial.println("error opening test.wav"); while (true); } const int S=1024; // количество сэмплов в одном блоке short buffer[S]; Serial.print("Playing"); // пока не достигли конца файла while (myFile.available()) { // считываем данные из файла в буфер myFile.read(buffer, sizeof(buffer)); // подготовка сэмплов int volume = 1024; Audio.prepare(buffer, S, volume); // отправляем сэмплы на аудио-выход Audio.write(buffer, S); // каждые 100 блоков выводим '.' count++; if (count == 100) { Serial.print("."); count = 0; } } myFile.close(); Serial.println("End of file. Thank you for listening!"); while (true) ; }