No debouncing needed of course; but you want only to start playing as the pin becomes high so upon change. Keep track of that. You code will be something like this:
#define DOORBELL_PIN 1 // set this to the pin that reads your doorbell.
bool buttonState = false;
void setup() {
pinMode(doorbellPin, INPUT);
}
void loop() {
if (digitalRead(DOORBELL_PIN) && buttonState == false) {
buttonState = true;
playMP3();
}
else buttonState = false;
}
void playMP3() {
// play your mp3 file.
}