Sound Visualisieren

  • Antworten:4
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 16

11.02.2015, 11:06:34 via Website

Hallo
Ich versuche eine ogg Datei graphisch darzustellen, allerdings gibt mir visualizer.getWaveForm(data) ein Array mit nur -128 aus. Weiß einer wo ich ein Fehler gemacht habe?

try {
            MediaPlayer mediaPlayer = new MediaPlayer();
            mediaPlayer.setDataSource(Environment.getExternalStorageDirectory().toString()+ "/test.ogg");

            int audioSessionID = mediaPlayer.getAudioSessionId();
            Visualizer visualizer = new Visualizer(audioSessionID);

            visualizer.setEnabled(true);
            byte[] data = new byte[visualizer.getCaptureSize()];
            visualizer.getWaveForm(data);
            for(int i=0;i<data.length;i++){
                Log.d("d",Integer.toString(data[i]));
            }
        } catch (IllegalArgumentException e) {
            Log.d("d","p1");
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SecurityException e) {
            Log.d("d","p2");
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            Log.d("d","p3");
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Log.d("d","p4");
            e.printStackTrace();
        }

Antworten
  • Forum-Beiträge: 8.773

11.02.2015, 11:23:09 via App

Wenn ich das jetzt richtig gesehen hab, ist dein Array so groß wie Data length.
Weil dein Array basiert ja auf der Größe von i in der For schleife und das wiederum auf dem Wert von Data length basiert

Keep cool :D

Antworten
  • Forum-Beiträge: 8.773

11.02.2015, 12:41:02 via App

Achso
Ich glaub ich hab da was vertauscht ^^
Ich hab das data[i] beim überfliegen als verantwortlichey Array wahrgenommen.

Keep cool :D

Antworten

Empfohlene Artikel