Hello. This problem may just be the contacts on the GBA SP motherboard that connect to the speaker. Just clean it with some Isopropyl alcohol and a q tip and clean the contacts. Places in the GBA SP are airtight such as the button contacts so avoid putting Isopropyl there.
Hi. There is a solution that you can find on You tube however I will just say it here. If the battery isn't swelling, follow these steps as it generally has a success rate of 60%. All you got to do is just plug in the power cable and then unplug (Wait around a second before unplugging it). Then, just keep on plugging in the power cable, wait a second and then unplug it until the light comes on (If it doesn't turn on after around 20 minutes, you may have to replace the battery). After the light stays on, leave it for a day. By the way this happens usually after the GBA SP being in storage for a while (Probably the case with your friends GBA SP) and the battery voltage decreases to a very low level. If you don't want to do this, just follow the tutorial oldturkey03 provided. Good luck!