我真的有个奇怪的问题。当我制作MediaPlayer (它在/sdcard上播放歌曲)时,它工作得很好,非常快(正常工作)。当我做了一些有说服力的修改(添加评论,更改onCliclListeners的独立功能等)时,我发现我的MediaPlayer需要6-7秒才能开始播放(第一次播放,更换歌曲,歌曲结束时等)
在LogCat上,它停留在"prepare()“上,几秒钟后它会更进一步。每次动作后(第一次播放,更换歌曲..)它调用play()方法,该方法包括:
try{
mp.reset()
mp.setDataSource(...);
mp.prepare();
mp.start();
}我不知道哪里出了问题:(在我花一周时间寻找原因之前,也许有人知道为什么花了这么长时间,并给了我提示?
发布于 2014-01-17 16:40:55
这就是为什么推荐使用prepareAsync()而不是prepare()方法。prepareAsync()在单独的线程中执行准备,这样您的接口就不会挂起。
https://stackoverflow.com/questions/21169610
复制相似问题