我正在使用音乐播放器应用,应用处理的所有音乐都来自流媒体资源。
每次用户更改歌曲时,我都需要调用reset并设置一个新的dataSource。如果用户快速切换歌曲,并且MediaPlayer处于准备状态,则我的应用程序中的UI会冻结。
只有在我调用reset并且媒体播放器处于准备状态时才会发生这种情况。
如何阻止我的应用UI冻结并获得ANR?
PS:我正在使用prepareAsync(),而不是prepare()。
答案 0 :(得分:0)
请参阅setOnPreparedListener。您可以通过各种侦听器跟踪类中的状态,并避免调用prepareAsync()。
你可能还有更好的运气,也可以在reset()之前调用stop()。