Добавление музыки в цикл
Я новичок. Я просто хотел спросить, как я могу включить мой tmrpcm.play в цикл. Я пытаюсь зациклить это, но проблема в том, что оно не воспроизводится. Я также пытаюсь добавить метод и вызвать его в цикл, но у меня тоже возникает та же проблема. Он будет воспроизводиться только в пустотной настройке.
Вот мой код.
#include "SD.h"
#define SD_ChipSelectPin 4
#include "TMRpcm.h"
#include "SPI.h"
TMRpcm tmrpcm;
void setup(){
tmrpcm.speakerPin = 9;
Serial.begin(9600);
if (!SD.begin(SD_ChipSelectPin)) {
Serial.println("SD fail");
return;
}
tmrpcm.setVolume(5);
tmrpcm.play("Yeah.wav");
}
void loop(){ }
@Megumichan, 👍0
2 ответа
В библиотеке есть встроенная функция цикла:
audio.loop(1); 0 or 1. Can be changed during playback
for full control of looping.
См. WIKI страницу библиотеки.
Кстати, неясно, подразумеваете ли вы под «циклом» цикл while(true) или функцию void loop(). Хотя это не должно иметь значения.
Библиотека TMRpcm неблокирующая. Это значит, что когда вы начинаете играть, она продолжает играть в фоновом режиме. Если вы поместите функцию воспроизведения в цикл, она просто будет снова и снова перезапускать то, что вы играете, и вы ничего не услышите.
Как говорит Мишель, вы можете заставить его автоматически зацикливаться (tmrpcm.loop(1);
), в этом случае вы просто оставляете его в setup()
и оставляете loop()
пустым.
Если вы хотите сделать это вручную, вам следует проверить, закончилось ли воспроизведение звука. Самый простой способ:
loop() {
if (!tmrpcm.isPlaying()) {
tmrpcm.play("Yeah.wav");
}
}
То есть - если он не воспроизводится, то начните его воспроизведение. Когда он закончится, он больше не будет воспроизводиться, поэтому он начнет воспроизводиться снова.
- Сохранение файла .txt на SD-карту и чтение данных каждого содержимого в файл txt, а затем сохранение его в переменной
- Проблема с открытием нескольких текстовых файлов одновременно/по порядку с использованием <SD.h>
- DFPlayer для записи на SD-карту
- Попытка прочитать случайную строку с SD-карты
- Быстрая регистрация данных
- Проблемы с чтением растровых изображений с SD-карты
- SD-карта с arduino UNO
- Что за микросхема на этой плате?