Как я могу узнать, является ли это ритмом нынешней музыки mp3 в Android

Я пытаюсь разработать такое приложение для Android: когда оно играет или проигрывает текущую музыку, я могу что-то сделать. Поэтому я должен сначала проанализировать текущую музыку, а затем решить, бьет ли она сейчас! Я протестировал Android Api Demo, используя классы MediaPlayer и Visualizer. Я могу получить исходные байтовые данные, но как узнать, бьется ли он сейчас? Я новичок здесь... извините, если я не описал четко, и любой ответ благодарен! Вот мой частичный код, чтобы обновить вид Android:

public void updateVisualizer(byte[] fft)
    {
        if(mFirst )
        {
            mInfoView.setText(mInfoView.getText().toString() + "\nCaptureSize: " + fft.length);
            mFirst = false;
        }
        byte[] model = new byte[fft.length / 2 + 1];

        model[0] = (byte) Math.abs(fft[0]);
        for (int i = 2, j = 1; j < mSpectrumNum;)
        {
            model[j] = (byte) Math.hypot(fft[i], fft[i + 1]);
            i += 2;
            j++;
        }
        mBytes = model;

        // I want to decide whether it is beating now
        /*if(beating){
            doSomeThing();
        }*/

        invalidate();
    }

0 ответов

Другие вопросы по тегам