Audio Arduino mega2560在读取其他文件时播放mp3文件
我的设置是由Arduino Mega2560构建的,带有Adafruit的音乐制作盾。 我正在运行他们的“player\u simple”示例,并(通过耳机)收听背景中播放的mp3。 这就是工作 当我试图从同一张SD卡上读取额外的二进制文件时,在听音乐的同时,我通过耳机听到了白噪音。 此外,从SD卡读取二进制文件失败。 在重置Arduino两次后(通过按下电路板上的rst按钮),我能够听到音乐,但二进制文件的读取从未发生过 问题:Audio Arduino mega2560在读取其他文件时播放mp3文件,audio,arduino,read-write,simultaneous,Audio,Arduino,Read Write,Simultaneous,我的设置是由Arduino Mega2560构建的,带有Adafruit的音乐制作盾。 我正在运行他们的“player\u simple”示例,并(通过耳机)收听背景中播放的mp3。 这就是工作 当我试图从同一张SD卡上读取额外的二进制文件时,在听音乐的同时,我通过耳机听到了白噪音。 此外,从SD卡读取二进制文件失败。 在重置Arduino两次后(通过按下电路板上的rst按钮),我能够听到音乐,但二进制文件的读取从未发生过 问题: 我想知道我做错了什么?(见下面的代码) 在后台播放歌曲(加载在同
void setup{
if (! musicPlayer.begin()) { // initialize the music player
Serial.println(F("Couldn't find VS1053, do you have the right pins defined?"));
while (1);
}
Serial.println(F("VS1053 found"));
if (!SD.begin(CARDCS)) {
Serial.println(F("SD failed, or not present"));
while (1); // don't do anything more
}
// Set volume for left, right channels. lower numbers == louder volume!
musicPlayer.setVolume(20,20);
// If DREQ is on an interrupt pin (on uno, #2 or #3) we can do background
// audio playing
musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT); // DREQ int
// Play another file in the background, REQUIRES interrupts!
musicPlayer.startPlayingFile("/e01.wav");
myFile = SD.open("S1F25.bin"); // open the binary file
Serial.print (" myfile.read() = ");
Serial.println (myFile.read());
}
void loop() {
volume_control();
if (musicPlayer.stopped()) {
Serial.println("Done playing music");
while (1) {
delay(10); // we're done! do nothing...
}
}
delay(100);
}
void volume_control(){
volume = volume + 1;
if (volume > 90){volume = 90;}
musicPlayer.setVolume(volume,volume);
}
您是否打算在
设置
函数中定义循环
函数?这就是您的代码显示的内容。此外,您是否临时运行了禁用(例如,注释掉)您的音乐播放器的测试,并验证您的文件读取工作正常?你试过反过来吗?首先要做的是:确保每个函数都能独立工作。然后在它们一起运行时处理这个问题。循环不在setup函数内(复制/粘贴代码时存在缩进问题)。根据您的评论-我确实检查了我是否只能RD SD卡,并且-只能播放音乐。是的,我能。因此,只有当我播放歌曲并试图读取二进制文件时,问题才存在。