我想播放音频。我应该使用线程(Thread),异步任务(AsyncTask)还是服务(Service)?

4

我想在我的Activity中播放音频文件。

我有三个按钮来控制媒体:播放/暂停/停止。此外,我还有一个可以用于前进/后退曲目的媒体seekbar。

我正在尝试每1秒更新seekbar进度。然后,我考虑使用线程。这是正确的方向还是我需要考虑使用服务异步任务

MediaPlayer是否带有一个seek bar?这将对我很有帮助。

谢谢,

3个回答

1
如果您想每秒更新一次,我建议使用TimerTask

1

我会为控制媒体播放器设置一个服务,并为应用程序显示设置AsyncTask。

让您的应用程序向服务发送消息以停止、启动(使用按钮的onClick事件)并在需要更新屏幕信息时获取当前位置信息。这将分离播放和控制。

您的应用程序可以使用简单的AsyncTask在其后台线程中暂停(SystemClock.sleep(1000)),并在运行于UI上的更新进度线程中更新任何滑块等。如果您以这种方式分离责任,则无需编写任何特定于线程的代码。


1

我认为你应该使用asyntask:在不同的线程中播放媒体并更新到UI线程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接