我目前正在开发一个Android音乐播放器,它可以播放多个网络平台上的歌曲。我对Deezer有一个问题:当我播放一首音乐时,它的开头很好,但是所有的应用程序接口都开始滞后和冻结,如果我暂停/播放这首歌,它就会像一张无法读懂的旧CD……(导致了糟糕的歌曲质量和划痕.)
我正在为Android使用Deezer SDK。您可以在GitHub:https://github.com/Valou3433/blade-player上找到我的代码
我真的不明白我做错了什么,因为我只是调用deezer的TrackPlayer.playTrack()、play()和pause()方法.
谢谢你的帮助!
发布于 2018-09-19 07:30:04
最近,我也遇到了一个类似的问题:
在调试和找到解决方案上花费了将近半天的时间之后,我注意到回调函数: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
}
});
}
});希望它也适用于你!
https://stackoverflow.com/questions/50282238
复制相似问题