2011-12-10 5 views
0

音声で話し始めた時間があります。 MediaPlayer.getCurrentPosition()を使用して、音声の現在時刻を取得できます。私が知りたいことは:どのクラスやインタフェースを使ってオーディオ時間を連続的に監視できるのですか?特定の時間(私の与えられた時間)に達すると、次のテキストを読み込んでTextViewで更新できます。オーディオの再生時間が一定の値に達すると、次のテキスト(歌詞)を読み込んで表示する必要があります。

マイオーディオファイル(MB単位で)とても長く、SDカードから再生されます。..

私は静的モードでAndroid.AudioTrackクラスを使用することができ、(私はそれを使用することができますかわからないけど読んでドキュメントとAudioTrackオブジェクトのサイズやそのバッファのサイズ、利用可能なメモリに依存) MediaPlayerのは、これを仕事や他のいくつかのインタフェース/クラスなどまたはスレッドのいくつかの並べ替えすることができますことができます。..

可能なアイデア(Sで私を助けてください)。

PS:私はアンドロイドに新しいが、それについてcrazzzyyいます。..

注[オーディオファイルの末尾が、私は私が欲しい言ったようにそれを行うことができますにMediaPlayer.setOnCompletionListener(..)を使用して、特定の再生時間にそれに接続する]

答えて

0

AudioTrackの欠点は、オーディオファイル(LPCMデータ)をデコードする必要があることです。あなたのオーディオファイルがlpcm形式でない場合(私はそれが疑わしい)、あなたは何とか自分でデータを解読する必要があるでしょう。しかし、この場合の進捗状況の追跡は簡単な作業です。

精度が200ms前後であれば、Handlerベースのタイマーを試して、そのタイマーの現在の状態であるMediaPlayerを調べることができます。この方法では、データを自分でデコードする必要はありません。

Handlerベースのタイマ:Repeat a task with a time delay?

+0

MR&inazarukありがとうございました。神のお恵みがありますように! – Tahir

関連する問題