![](/img/smilies/icon_exclaim.gif)
![](/img/smilies/icon_wink.gif)
Это не Ваша вина, что Вы не знали, но всё после onEndPlay принадлежит ОТДЕЛЬНОМУ ПОТОКУ, так что этот код исполняется параллельно потоку основному и не известно, к чему может привести, тем более, вы из этого потока обращаетесь к самому же плееру, правда, через таймер.
nesco, я так понимаю (не могу сейчас проверить), даже при регистрации таймера в контексте отдельного потока, процедура onTimer будет отрабатываться в контексте оконной процедуры (т.е. основного потока)?