Eso me ha pasado a mí con ei iPhone 7 y con el iPhone 8.
Me ha dado dos soluciones:
En el caso del iPhone 7 me tuvieron que cambiar el altavoz en el servicio técnico (lo cubría la garantía).
En el caso del iPhone 8 limpiaron con una brocha la rejilla externa del altavoz. Puedes probar a limpiarla con cuidado con un pincel o una brocha fina.
Te dejo el link de documento de Apple:
https://support.apple.com/es-es/HT203800
Suerte.