[Audio]
Description
Play an audio signal from a buffer.
Syntax
Audio.write(buffer, length);
Parameters
buffer
(short): the named buffer with the audio file.length
(int): number of samples to write.
Returns
Nothing.
Example
#include <SD.h> #include <Audio.h> void setup() { // debug output at 9600 baud Serial.begin(9600); // setup SD-card Serial.print("Initializing SD card..."); if (!SD.begin()) { Serial.println(" failed!"); return; } Serial.println(" done."); // 44100hz stereo => 88200 sample rate // 100 mSec of prebuffering. Audio.begin(88200, 100); } void loop() { int count=0; // open wave file from sdcard File myFile = SD.open("test.wav"); if (!myFile) { // if the file didn't open, print an error and stop Serial.println("error opening test.wav"); while (true); } const int S=1024; // Number of samples to read in block short buffer[S]; Serial.print("Playing"); // until the file is not finished while (myFile.available()) { // read from the file into buffer myFile.read(buffer, sizeof(buffer)); // Prepare samples int volume = 1023; Audio.prepare(buffer, S, volume); // Feed samples to audio Audio.write(buffer, S); // Every 100 block print a '.' count++; if (count == 100) { Serial.print("."); count = 0; } } myFile.close(); Serial.println("End of file. Thank you for listening!"); while (true) ; }
Libraries Reference Home
The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.