2011-09-29 73 views
2

我會假設有人會找到一個簡單的解決方案,但我還沒有找到一個簡單的方法。我想創建一個搜索欄,通過MediaPlayer播放音頻。我一直無法在MediaPlayer對象中找到類似onSeekChanged偵聽器的東西,所以我構建了一個AsyncTask,它只是通過循環更新刷新並更新持續時間和欄。然而,這似乎並不是最好的方式,因爲此循環會導致應用程序運行速度非常慢(音頻不會延遲,但像停頓之類的按鈕會延遲)。所以我想知道什麼是最好的實現是建立一個有效的導引頭。這不是一個難題,因爲有這麼多的應用程序使用它,我只是想知道這樣做的正確方法是什麼。謝謝!媒體播放器的搜索者

+2

嘗試** MediaController **,您可以參考** ApiDemos的樣本**。它完成了所有的工作。只是**忽略視頻部分**。 – Samuel

回答

0

你需要把睡眠至少1毫秒在你的週期絲毫首先:

Thread.sleep(1); 

其次,你可以計算出所需要的時間爲下一次複查:

Thread.sleep(1000 - currentPos % 1000); 

該算法在標準中使用的MediaController。