Я думаю, что может произойти только одна из двух вещей. Либо этот код никогда не попадет, либо переменные не ссылаются на те же экземпляры объектов, на которые вы ожидаете их получить. Вы поставили точку останова в этом состоянии? Я бы проверил, что точка останова даже попала туда, а затем проверил бы, чтобы переменные указывали на правильные экземпляры кнопок.
Не видя оставшуюся часть кода, я должен спросить ... почему вы проверяете индикатор выполнения для условия "завершения воспроизведения", а не для использования медиаплееров при завершении вызова?
Я делаю что-то очень похожее и использую OnCompletionListener MediaPlayer, чтобы перевернуть видимость моих кнопок.