Android equalizer

thelegend27

Aktives Mitglied
Sehr geehrtes Forum,

Ich habe mich blind in ein Projekt reingestürtzt und habe nun einige Probleme.
Mein Plan:
Ich wollte eine App erstellen, die Werte aus einer Text Datei ausliest und diese benutzt um einen Equalizer zu erstellen, der dann global läuft.
Meine Probleme und Fragen:
Meine App läuft leider nicht. Was muss ich tun damit sie läuft?
Ich denke dass sich eine logische Fehler eingeschlichen haben, leider konnte ich nichts testen. Könntet ihr das überprüfen?

Hier der Quellcode (Entschuldigung für das ganze durcheinander):
Java:
package com.example.ahmet.myapplication;

import android.media.audiofx.Equalizer;
import android.media.audiofx.LoudnessEnhancer;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        BufferedReader br = null;
        FileReader fr = null;
        Equalizer eq1 = new Equalizer(0, 0);
        Equalizer eqGehoer = new Equalizer(0, 0);
        short[] bandFreq = new short[55];
        short[] bandLevels = new short[55];
        bandFreq = gibBandFreq("hds3app1.txt");
        setBandLevels("hds3app1.txt");
        eq1.setEnabled(true);
        LoudnessEnhancer gain = new LoudnessEnhancer(0);
        gain.setTargetGain(20);
        gain.setEnabled(true);

        Equalizer.Settings eq1Set = new Equalizer.Settings("curpreset=0;numBands=55;bandLevels=" + bandLevels + ";");
        eq1.setProperties(eq1Set);
    }
    short[] gibBandFreq(String dateiname) {


        BufferedReader br = null;
        FileReader fr = null;
        short[] bandFreq = new short[55];

        try {

            //br = new BufferedReader(new FileReader(FILENAME));
            fr = new FileReader(dateiname);
            br = new BufferedReader(fr);
            String sCurrentLine;
            int zaehler = 0;

            while ((sCurrentLine = br.readLine()) != null) {
                if ((zaehler % 2) == 0) {
                    bandFreq[zaehler] = Short.parseShort(sCurrentLine);
                    zaehler = zaehler + 2;
                }
            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                if (br != null)
                    br.close();

                if (fr != null)
                    fr.close();

            } catch (IOException ex) {

                ex.printStackTrace();

            }


        }


        return bandFreq;
    }

    void  setBandLevels(String dateiname) {
        BufferedReader br = null;
        FileReader fr = null;
        Equalizer eq1 = new Equalizer(0, 0);
        short[] bandFreq = gibBandFreq(dateiname);
        short[] bandLevels = new short[55];


        try {

            //br = new BufferedReader(new FileReader(FILENAME));
            fr = new FileReader(dateiname);
            br = new BufferedReader(fr);
            String sCurrentLine;
            int zaehler = 1;

            while ((sCurrentLine = br.readLine()) != null) {
                if ((zaehler % 2) == 0) {

                } else {
                    bandLevels[zaehler] = Short.parseShort(sCurrentLine);
                    eq1.setBandLevel(bandFreq[zaehler], bandLevels[zaehler]);
                    zaehler = zaehler + 2;

                }
            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                if (br != null)
                    br.close();

                if (fr != null)
                    fr.close();

            } catch (IOException ex) {

                ex.printStackTrace();

            }


        }

    }}
Falls ihr euch fragt was der Button, die Toolbar etc. sollen: Ich hab mit einer Vorlage aus dem Android Studio begonnen.
Außerdem befindet sich im Anhang die zu lesende Textdatei, falls diese benötigt wird.

Text-Datei : http://textuploader.com/d6io0

Mit freundlichen Grüßen und herzlichen Dank
thelegend27
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Android Equalizer für Android Android & Cross-Platform Mobile Apps 3

Ähnliche Java Themen

Neue Themen


Oben