Instala la app Z DEVICE TEST y al ejecutarla ves a "sonido" y lo pruebas. Si no te funciona, casi seguro que es hardware.
Yo le he cambiado el altavoz hace cuatro días, pues se me cayó el móvil y se me rompió la pantalla (la tengo pedida) y el altavoz distorsionaba un montón. Compré uno por 4,5 euros y lo cambié, ahora funciona perfecto.
Pude comprobar que hasta que no puse los tornillos de abajo las conexiones del altavoz no hacen contacto en la placa, así que prueba ésto, quita la tapa trasera y, mientras tengas una canción escuchándose o un sonido, apreta con los dedos la parte inferior, si hace mal contacto, lo oirás; entonces prueba apretando un poco los tornillos (no te pases tampoco).
Si ésto no funciona... el siguiente paso sería desmontarlo... o enviarlo a garantía.