2011-01-17 7 views
1

ほとんどのメディアプレーヤーに含めるものを含めることを試みています。オーディオトラックの合計時間と現在の時刻を表示する方法毎秒増加する)。私はスレッドを使用しなければならないと確信していますが、どうすればよいか分かりません。私はオーディオトラックをSDカードに保存しておき、すべてのデータを再生するには、短い配列に入れてください。AudioTrackを使用して再生するトラックの長さを秒単位で返します。

理想的には、progressBarを使用して進行状況を表示することもできますが、TextViewsからプログレスバーに表示するのは大変なステップではないと思います。私は、インターネットやMediaPlayerを使用しているが、私はaudioTrackを使用しているので、それははるかに難しいと思うすべての例(漠然としている)を見回している。私のアプリでは、私がオーディオでやりたいことをするためにMediaPlayerを使うことはできません。

誰かが私を助けたり、正しい方向に私を向けることができますか?

答えて

2

私の答えは誰も見ていないので、私はオーディオトラックの秒数で時間を見つけるために粗い方法を使用しました。私が与えた設定でトラックを自分で録音したことを知って、私はビットレートを知っていたので、ファイルサイズも取得できました。

だから、Fileオブジェクトを作成し、秒単位で時間を取得するためにストレージにファイルとしてそのオブジェクトを設定するには、使用:22050は、サンプル・レートをある

float time = (float)file.length()/22050/2; 

は、私が思うに、記録及び2 Iのステレオで録音したと思います。

これは将来的に誰にでも役立ち、私が間違っている場合は私を修正してくれることを願っています。

0

float time =(float)file.length()/ playbacksamplerate/2;

2はバイトに短くするためのものです サンプルレートは、オーディオトラックオブジェクトの再生に設定した量にする必要があります

関連する問題