首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少Deezer API文档

缺少Deezer API文档
EN

Stack Overflow用户
提问于 2015-05-21 10:59:05
回答 1查看 488关注 0票数 0

嗨,目前我正在开发一个使用Deezer Android的应用程序。我终于成功地玩了30秒。在我的应用程序中使用基本播放器而不是TrackPlayer的示例。

首先,我尝试使用TrackPlayer并调用该方法:

代码语言:javascript
复制
TrackPlayer.playTrack(trackid);

但是这个玩家只会产生例外:

代码语言:javascript
复制
InvalidStreamTokenException

因此,过了一会儿,我找到了API调用:

代码语言:javascript
复制
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中找到一个函数。也许它不见了?

任何支持都是很棒的!

提前感谢

编辑:

请求的守则:

代码语言:javascript
复制
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);

    ...
}
EN

回答 1

Stack Overflow用户

发布于 2016-03-15 17:04:17

InvalidTokenException是我们在模拟器中使用Android时遇到的一个问题。它是在SDKV0.10.19版本中修正的,在这里可以获得更高版本:Android SDK

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30371765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档