2015-02-23 1 views
0

Я инициализируется мой TrackPlayer так:Deezer SDK Android: искать с классом TrackPlayer

trackPlayer = new TrackPlayer((Application) context.getApplicationContext(), deezerConnect, new WifiAndMobileNetworkStateChecker()); 
trackPlayer.playTrack(trackId); 

Тогда, я хочу, чтобы искать в пути с этим кодом:

if (trackPlayer != null && trackPlayer.isAllowedToSeek()) { 
trackPlayer.seek(newPositionInMs); 
} 

я получаю эту ошибку :

java.lang.IllegalStateException: Unable to retrieve AudioTrack pointer for getSampleRate() 
      at android.media.AudioTrack.native_get_playback_rate(Native Method) 

Если каждый может помочь мне, Благодаря

ответ

0

Эта проблема может возникнуть, если вы попытаетесь найти слишком рано. Когда вы вызываете playTrack(), плеер должен получать информацию о запрошенной дорожке и загружать трек, а это значит, что игрок не может быть инициализирован, когда вы вызываете метод поиска.

Возможно, вам захочется дождаться, пока игрок будет находиться в состоянии ГОТОВ или ИГРЫ, прежде чем искать.

Для этого просто добавьте PlayerStateChangedListener на свой плеер.