Добрый день всем!
Я пытаюсь сделать rendering музыкального файла. Не знаю правильно ли я называю но я имею в виду
когда лини танцует под музыку :D.
Все работает но не качественно, мне не нравится. Я делаю так:
public class VisualizerView extends View
дальше переопределяю метод
@Override
protected void onDraw(Canvas canvas) {
беру от музыкального файла bytes[] и исходя из этого рисую
Например:
for (int i = 0; i < bytes.length - 1; i++) {
mPoints[i * 4] = rect.width() * i / (bytes.length - 1);
mPoints[i * 4 + 1] = rect.height() / 2
+ ((byte) (bytes[i] + 128)) * (rect.height() / 2) / 128;
mPoints[i * 4 + 2] = rect.width() * (i + 1) / (bytes.length - 1);
mPoints[i * 4 + 3] = rect.height() / 2
+ ((byte) (bytes[i + 1] + 128)) * (rect.height() / 2)
/ 128;
}
canvas.drawLines(mPoints, mPaint);
но он работает не очень плавно, не успевает нарисовать.
Так вот, есть ли более легкие пути для реализации этого? Чтобы быстрее работал.
Спасибо!!!