音楽を鳴らして止めようとします

mp1.pause();
mp1.seekTo(0);

だけでは普通にうまく止まります。

1秒後に止める、みたいな時にHandlerに飛ばすと
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
 if (mp1.isPlaying()) {
mp1.pause();
mp1.seekTo(0);
}
}
}, i);

最後がレコードの針が飛ぶようにプツッと音が飛んでから止まります
原因はなんだと思われますか?