It would be my preference to re-use the MediaPlayer instead of creating a new one all the time as a way of conserving memory. But I am not sure that is possible using resourceIds as the source of the sound. Depending on what your app does this might not be a problem (how often does the sound change, for example).
If you have lots of sounds you want to use, you might consider using
SoundPool. The SoundPool keeps track of the number of sounds allowed to play at once, and will handle stopping old ones when a new one is played. A different API but a good one if you are worried about managing the sound yourself.
A downside is that you get Yet-Another-ID to track that identifies the sound in the pool, so you would need to map the soundIds the pool gives you to the resourceIds that your application context knows about.