I don't know it might be the motherboard contacts and not the speaker. Actually I had mine open recently and I slightly broke one of the contacts but not completely so it still works.
The pic you posted does't show the speaker contact pins .That one you see there is for something else, a ground pin or something.
Sure, if the contacts on the mobo are still high enough a speaker replacement would solve the issue. If the speaker is the problem of course - it may be the contacts are not touching the speaker properly.
I would test the speaker before buying a new one with an old earphone cable if you have one. You'd just strip the ends and place them on the speaker contacts while plugged into an audio player and see if you hear anything. Oh btw, strip off the felt grille off the speaker, it sounds way better that way.