diff options
author | Felix Palmer <felix.palmer@metaswitch.com> | 2011-12-02 13:48:18 -0800 |
---|---|---|
committer | Felix Palmer <felix.palmer@metaswitch.com> | 2011-12-02 13:50:17 -0800 |
commit | 348bb37f8e8fcb902c9a2f1dd59fd5c8ee3cae4d (patch) | |
tree | 129b8cb618731e0887c3da4881ba8bc652a99f91 /src/com/pheelicks/visualizer/VisualizerActivity.java | |
parent | a92a1757e7b882e0dbb00a7c580bfa3e09255083 (diff) | |
download | android_external_android-visualizer-348bb37f8e8fcb902c9a2f1dd59fd5c8ee3cae4d.tar.gz android_external_android-visualizer-348bb37f8e8fcb902c9a2f1dd59fd5c8ee3cae4d.tar.bz2 android_external_android-visualizer-348bb37f8e8fcb902c9a2f1dd59fd5c8ee3cae4d.zip |
Added (messy) Visualizer code
Diffstat (limited to 'src/com/pheelicks/visualizer/VisualizerActivity.java')
-rw-r--r-- | src/com/pheelicks/visualizer/VisualizerActivity.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/com/pheelicks/visualizer/VisualizerActivity.java b/src/com/pheelicks/visualizer/VisualizerActivity.java index b56be76..795e90e 100644 --- a/src/com/pheelicks/visualizer/VisualizerActivity.java +++ b/src/com/pheelicks/visualizer/VisualizerActivity.java @@ -2,11 +2,13 @@ package com.pheelicks.visualizer; import android.app.Activity; import android.media.MediaPlayer; +import android.media.audiofx.Visualizer; import android.os.Bundle; import android.view.View; public class VisualizerActivity extends Activity { private MediaPlayer mPlayer; + private Visualizer mVisualizer; /** Called when the activity is first created. */ @Override @@ -16,6 +18,55 @@ public class VisualizerActivity extends Activity { mPlayer = MediaPlayer.create(this, R.raw.test); mPlayer.setLooping(true); + + linkVisualizer(mPlayer); + } + + /** + * Links the visualizer to a player + * TODO Refactor this into visualizer + * @param player + */ + private void linkVisualizer(MediaPlayer player) + { + + final VisualizerView visualizerView = (VisualizerView) findViewById(R.id.visualizerView); + + // Create the Visualizer object and attach it to our media player. + mVisualizer = new Visualizer(player.getAudioSessionId()); + mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]); + + // Pass through Visualizer data to VisualizerView + Visualizer.OnDataCaptureListener captureListener = new Visualizer.OnDataCaptureListener() + { + @Override + public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, + int samplingRate) + { + visualizerView.updateVisualizer(bytes); + } + + @Override + public void onFftDataCapture(Visualizer visualizer, byte[] bytes, + int samplingRate) + { + visualizerView.updateVisualizerFFT(bytes); + } + }; + + mVisualizer.setDataCaptureListener(captureListener, + Visualizer.getMaxCaptureRate() / 2, true, true); + + // Enabled Visualizer and disable when we're done with the stream + mVisualizer.setEnabled(true); + mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() + { + @Override + public void onCompletion(MediaPlayer mediaPlayer) + { + mVisualizer.setEnabled(false); + } + }); } public void startPressed(View view) |