@DeaD_EyE thanks for helping out. I'm new to this language so will take me a time to digest the changes you made
The file is now exiting correctly once the loop ends but when the button is pressed, I get the error msg: TypeError: kill_mplayer() takes no arguments (1 given)
The line GPIO.add_event_detect(buttonpin, GPIO.RISING, callback=kill_mplayer, bouncetime=300) is not passing an argument so, I don't understand the error.

The file is now exiting correctly once the loop ends but when the button is pressed, I get the error msg: TypeError: kill_mplayer() takes no arguments (1 given)
The line GPIO.add_event_detect(buttonpin, GPIO.RISING, callback=kill_mplayer, bouncetime=300) is not passing an argument so, I don't understand the error.