寻求媒体播放器的人

时间:2011-09-29 00:13:07

标签: android audio media-player android-asynctask seek

我认为有人会找到一个简单的解决方案,但我还没有找到一个简单的方法。我想建立一个寻求器栏,用于通过MediaPlayer播放音频。我无法在MediaPlayer对象中找到类似onSeekChanged侦听器的内容,因此我构建了一个AsyncTask,只需通过while(playing)循环进行刷新并更新持续时间和条形。然而,这似乎不是最佳方式,因为此while循环导致应用程序运行非常缓慢(音频不会滞后,但暂停等按钮会延迟)。所以我想知道构建高效的导引头的最佳实现方式。这不是一个困难的问题,因为有这么多的应用程序使用它,我只是想知道这样做的正确方法是什么。谢谢!

1 个答案:

答案 0 :(得分:0)

首先,你需要在你的周期中放置至少1毫秒的睡眠时间:

Thread.sleep(1);

其次,您可以计算下次重新检查所需的时间:

Thread.sleep(1000 - currentPos % 1000);

此算法用于标准MediaController。