嗨,目前我正在开发一个使用Deezer Android的应用程序。我终于成功地玩了30秒。在我的应用程序中使用基本播放器而不是TrackPlayer的示例。
首先,我尝试使用TrackPlayer并调用该方法:
TrackPlayer.playTrack(trackid);但是这个玩家只会产生例外:
InvalidStreamTokenException因此,过了一会儿,我找到了API调用:
new DefaultPlayerFactory(...).createPlayer();
player.init(trackid, stream_or_sample_uri);
player.play();所以现在我试着玩完整的标题,但是即使我创建了一个临时的新的溢价帐户,流标记只会产生奇怪的错误.(状态从发布到初始化不允许),即使我如何检查当前用户的状态还不清楚.
我在网页上找到了一些网址:
http://api.deezer.com/options/ -->参数: streaming = true
http://api.deezer.com/user/me ->参数: status =2 (Premium+) /0(免费)
但是我还没有在android中找到一个函数。也许它不见了?
任何支持都是很棒的!
提前感谢
编辑:
请求的守则:
public void login() {
// Check if a session was stored and request login if not
if(!m_SessionStore.restore(m_DeezerConnect, m_Activity.getApplication())) {
String[] permissions = new String[]{
Permissions.BASIC_ACCESS,
Permissions.MANAGE_LIBRARY,
Permissions.LISTENING_HISTORY,
Permissions.OFFLINE_ACCESS,
};
DeezerDialogListener ddl = new DeezerDialogListener();
m_DeezerConnect.authorize(m_Activity, permissions, ddl);
} else {
notifyLoginSuccess();
loadUserPlaylists();
}
}
private class DeezerDialogListener implements DialogListener {
@Override
public void onComplete(Bundle bundle) {
m_SessionStore.save(m_DeezerConnect, m_Activity.getApplication());
notifyLoginSuccess();
loadUserPlaylists();
}
@Override
public void onCancel() {
notifyLoginError();
}
@Override
public void onException(Exception e) {
notifyLoginError();
}
}
private void loadUserPlaylists() {
try {
// First try
//m_DeezerPlayer = new TrackPlayer(m_Activity.getApplication(), m_DeezerConnect, new WifiAndMobileNetworkStateChecker());
m_DeezerPlayer = new DefaultPlayerFactory(m_Activity.getApplication(), m_DeezerConnect, new WifiAndMobileNetworkStateChecker()).createPlayer();
m_DeezerPlayer.addOnPlayerErrorListener(this);
m_DeezerPlayer.addOnPlayerProgressListener(this);
m_DeezerPlayer.addOnPlayerStateChangeListener(this);
} catch (Exception e) {
e.printStackTrace();
}
AlbumsListener al = new AlbumsListener();
DeezerRequest ar = DeezerRequestFactory.requestCurrentUserAlbums();
ar.setId("ar");
m_DeezerConnect.requestAsync(ar, al);
...
}发布于 2016-03-15 17:04:17
InvalidTokenException是我们在模拟器中使用Android时遇到的一个问题。它是在SDKV0.10.19版本中修正的,在这里可以获得更高版本:Android SDK
https://stackoverflow.com/questions/30371765
复制相似问题