4

私のアクティビティでオーディオファイルを再生したいです。私はオーディオを再生したいです。スレッド、非同期タスク、またはサービスを使用しますか?

私はメディアを制御するための3つのボタンを持っています:再生/一時停止/停止。さらに、私はトラックを前方/後方に使用できるメディアのためのシークバーを持っています。

シークバーの進捗状況を1秒ごとに更新しようとしています。そして、私はスレッドと考えました。それは正しい方向ですか、私は使用することを検討する必要がありますサービスまたはAsyncTasks

シークバーはMediaPlayerに付属していますか?これは私をたくさん助けます。

おかげで、

答えて

1

メディアプレーヤーを制御するためのサービスと、アプリケーションの表示用のAsyncTaskを設定します。

アプリケーションは、画面情報を更新する必要があるときに、停止、開始(onClick of buttons)を使用して現在の位置情報を取得するサービスにメッセージを送信します。これにより、演奏とコントロールとが分離されます。

アプリケーションは、単純なAsyncTaskを使用してバックグラウンドスレッドを一時停止(SystemClock.sleep(1000))し、UIで実行される更新プログレススレッドのスライダなどを更新できます。このようにして責任を分離する場合は、スレッド固有のコードを書く必要はありません。

+0

SOC :)。ありがとう、相棒 – iTurki

1

あなたは毎秒を更新したい場合は、私はTimerTaskをお勧めします。

1

asyntask:別のスレッドでメディアを再生し、UIスレッドに更新してください。

関連する問題