use of io.recom.howabout.category.music.net.GroovesharkStreamUrlGetter.OnGetGroovesharkStreamKey in project howabout-android by recomio.
the class MusicPlayerService method play.
@SuppressWarnings("deprecation")
private void play(final String trackTitle, final String artistName, String thumbnailUrl) {
Notification notification = new Notification(R.drawable.ic_launcher, trackTitle + " - " + artistName, System.currentTimeMillis());
Intent intent = new Intent(this, MusicPlaylistActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, trackTitle, artistName, pendingIntent);
notification.flags |= Notification.FLAG_NO_CLEAR;
notification.flags |= Notification.FLAG_ONGOING_EVENT;
startForeground(NOTIFICATION_ID, notification);
playlistAdapter.setCurrentLyrics("");
isLoaded = false;
isLoading = true;
mediaPlayer.stop();
mediaPlayer.reset();
if (playInfoRequest != null) {
contentManager.cancel(playInfoRequest);
playInfoRequest = null;
}
playInfoRequest = new PlayInfoRequest(trackTitle, artistName);
contentManager.execute(playInfoRequest, new RequestListener<PlayInfo>() {
@Override
public void onRequestFailure(SpiceException e) {
if (groovesharkStreamUrlGetter != null) {
groovesharkStreamUrlGetter.isStopped(true);
}
if (e instanceof RequestCancelledException) {
return;
}
isLoading = false;
playlistAdapter.playNext();
playlistAdapter.notifyDataSetChanged();
Toast.makeText(MusicPlayerService.this, trackTitle + "(" + artistName + ")" + "\n 무료 스트리밍 음원을 찾지 못했습니다.", Toast.LENGTH_SHORT).show();
}
@Override
public void onRequestSuccess(final PlayInfo playInfo) {
playlistAdapter.setCurrentLyrics(playInfo.getLyrics());
Log.i("grooveshark", playInfo.getTrackTitle());
final String groovesharkSongId = playInfo.getTinysongId();
if (groovesharkSongId != null) {
HowaboutApplication application = (HowaboutApplication) getApplicationContext();
try {
groovesharkStreamUrlGetter = new GroovesharkStreamUrlGetter(application, groovesharkSongId, new OnGetGroovesharkStreamKey() {
@Override
public void sucess(String streamUrl) {
playInfo.setGroovesharkSongID(groovesharkSongId);
playInfo.setGroovesharkStreamUrl(streamUrl);
playStream(playInfo);
}
@Override
public void error(Exception e) {
playStream(playInfo);
}
});
groovesharkStreamUrlGetter.getGroovesharkStreamUrlAsync();
} catch (Exception e) {
playStream(playInfo);
}
} else {
playStream(playInfo);
}
}
});
}
Aggregations