Audio.prepare()

[Audio]

説明

Prepares audio samples from the named file to the audio buffer and sets the volume.

Syntax

Audio.prepare(buffer, samples, volume);

Parameters

  • buffer (short): the named buffer holding the audio file.
  • samples (int): number of samples to write.
  • volume (int): a 10-bit number representing the volume of the audio being played. 0 turns the sound off, 1023 is the maximum volume.

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

86Duino のリファレンスのテキストは Arduino レファレンス を編集したもので、 Creative Commons Attribution-ShareAlike 3.0 License下でライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。

コメントする

上部へスクロール