【问题标题】:MediaPlayer - long time between switching songsMediaPlayer - 切换歌曲之间的时间很长
【发布时间】:2014-01-16 18:11:29
【问题描述】:

我有一个很奇怪的问题。当我制作 MediaPlayer(它在 /sdcard 上播放歌曲)时,它运行得非常快(正常工作)。当我进行一些美学修正(添加 cmets、将 onCliclListeners 的函数更改为分离函数等)时,我看到我的 MediaPlayer 需要 6-7 秒才能开始播放(第一次播放、更换歌曲、歌曲结束时等)

在 LogCat 上,它停留在“prepare()”处,几秒钟后它走得更远。在每个动作之后(第一次播放,换歌..)它调用 play() 方法,该方法包括:

try{
mp.reset()
mp.setDataSource(...);
mp.prepare();
mp.start();
}

我不知道出了什么问题 :( 在我花了一周时间寻找原因之前,也许有人知道为什么需要这么长时间并给我提示?

【问题讨论】:

  • 没有更多代码很难指出问题所在......

标签: java android audio media-player android-mediaplayer


【解决方案1】:

这就是为什么建议使用prepareAsync() 而不是prepare() 方法的原因。 prepareAsync() 在单独的线程中执行准备,因此您的界面不会挂起。

【讨论】:

  • 但问题是为什么“准备”需要这么长时间?如果我使用 prepareAsync,可能需要相同的时间,但它不会阻止我的应用程序 (?)
  • 可能是你没有正确释放你的媒体播放器,这就是为什么启动几次后它开始卡住
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多