ファイルから取得したバイト配列を使用して録音したサウンドのグラフを描画し、それをシーク バーの背景として設定しようとしています。上記の金額まで抽選に成功しましたが、正確ではありません。正確なグラフを取得するには、ピクセルをミリ秒に変換する必要があります。実際には、シークバーで行われる最大値と進行状況の更新はミリ秒単位です.しかし、ループ内の表示幅のピクセルを使用してグラフを描画しています.したがって、ピクセルをミリ秒に変換してグラフを描画できればと思います。ミリ秒単位で正確な進行状況バーグラフを作成できます (そう願っています)。
それで、ピクセルをミリ秒に変換するのを手伝ってくれる人はいますか?電話の表示幅が 480 の場合、480 をミリ秒に変換する必要があります。
width=number of pixels of display width
for (int iPixel = 0; iPixel < width; iPixel++)
{
{
int start = (int) ((float) iPixel * ((float) width));
int end = (int) ((float) (iPixel + 1) * ((float) width));
for (int i = start; i < end; i++) {
//code to find the pixel to draw
}
//code to draw in canvas
}