大家好,我使用系统的MediaPlayer播放网络歌曲,使用MediaPlayer的getCurrentPosition()获取当前播放进度,如果一直播放,那么没有问题,但是如果暂停2分钟以上,getCurrentPosition()返回值就乱了,在各个手机上的表现不同,有的一直返回0,有的返回非常大的值。
请问这个问题如何解决?谢谢。

解决方案 »

  1.   

    播放流媒体暂停时间长,服务器超时,状态未知。在播放流媒体时,要暂停就Stop(不做Pause),恢复之后再重新prepare(), start()。
      

  2.   

    那恢复播放的时候,还需要seek,比较麻烦啊。
      

  3.   

    纠结到现在还没解,还嫌麻烦时间久了,服务器那边可能状态都未知了,还能怎么办。
    而且,不是所有媒体都可以Seek的,直播的就没法做。
      

  4.   

    如果只是在长时间才有问题的情况下,目前又没有好的解决方法,建议你设置一个定时器,在一定时间的暂停后,就保存getCurrentPosition, 然后在恢复的时候采用stop和 restart方法。
      

  5.   


    如果时间未到,继续使用resume恢复
      

  6.   

    应该是类似http协议的session那样,超时了流服务器把你的连接关闭并清除了状态信息了吧,你试试播放其他网站的曲目,看看是否也是超过一个固定时间就会超时了