我目前正在开发一款能够播放多个网络平台歌曲的Android音乐播放器。我对Deezer有一个问题:当我播放音乐时,它开始很好但是所有的应用程序界面都开始滞后和冻结,如果我暂停/播放这首歌,它开始像一张不可读的旧CD ......(导致可怕的歌曲质量与划痕......)
我正在使用Deezer SDK for Android。你可以在GitHub上找到我的代码:https://github.com/Valou3433/blade-player
我真的不明白我做错了什么,因为我只是在调用deezer的TrackPlayer.playTrack(),play()和pause()方法......
谢谢你的帮助 !
最近,我也遇到了类似的问题:
在花了将近半天的时间进行调试并找到解决方案之后,我注意到回调函数:onPlayerStateChange
有时会从另一个线程而不是main
线程调用。
我添加了我的代码在
main
线程上执行,瞧,它工作了。
我做了以下更改:
deezerPlayer.addOnPlayerStateChangeListener(new OnPlayerStateChangeListener()
{
@Override
public void onPlayerStateChange(PlayerState playerState, long l)
{
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
// my code here
}
});
}
});
希望它也适合你!