aboutsummaryrefslogtreecommitdiff
path: root/src/github/daneren2005/dsub/audiofx/VisualizerController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/github/daneren2005/dsub/audiofx/VisualizerController.java')
-rw-r--r--src/github/daneren2005/dsub/audiofx/VisualizerController.java109
1 files changed, 54 insertions, 55 deletions
diff --git a/src/github/daneren2005/dsub/audiofx/VisualizerController.java b/src/github/daneren2005/dsub/audiofx/VisualizerController.java
index b32245f4..92e3712c 100644
--- a/src/github/daneren2005/dsub/audiofx/VisualizerController.java
+++ b/src/github/daneren2005/dsub/audiofx/VisualizerController.java
@@ -19,7 +19,6 @@
package github.daneren2005.dsub.audiofx;
import android.content.Context;
-import android.media.MediaPlayer;
import android.media.audiofx.Visualizer;
import android.util.Log;
@@ -31,63 +30,63 @@ import android.util.Log;
*/
public class VisualizerController {
- private static final String TAG = VisualizerController.class.getSimpleName();
- private static final int PREFERRED_CAPTURE_SIZE = 128; // Must be a power of two.
+ private static final String TAG = VisualizerController.class.getSimpleName();
+ private static final int PREFERRED_CAPTURE_SIZE = 128; // Must be a power of two.
- private final Context context;
- private Visualizer visualizer;
+ private final Context context;
+ private Visualizer visualizer;
private boolean released = false;
private int audioSessionId = 0;
- // Class initialization fails when this throws an exception.
- static {
- try {
- Class.forName("android.media.audiofx.Visualizer");
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
-
- /**
- * Throws an exception if the {@link Visualizer} class is not available.
- */
- public static void checkAvailable() throws Throwable {
- // Calling here forces class initialization.
- }
-
- public VisualizerController(Context context, MediaPlayer mediaPlayer) {
- this.context = context;
- try {
- audioSessionId = mediaPlayer.getAudioSessionId();
- visualizer = new Visualizer(audioSessionId);
- } catch (Throwable x) {
- Log.w(TAG, "Failed to create visualizer.", x);
- }
-
- if (visualizer != null) {
- int[] captureSizeRange = Visualizer.getCaptureSizeRange();
- int captureSize = Math.max(PREFERRED_CAPTURE_SIZE, captureSizeRange[0]);
- captureSize = Math.min(captureSize, captureSizeRange[1]);
- visualizer.setCaptureSize(captureSize);
- }
- }
-
- public boolean isAvailable() {
- return visualizer != null;
- }
-
- public boolean isEnabled() {
- return isAvailable() && visualizer.getEnabled();
- }
-
- public void release() {
- if (isAvailable()) {
- visualizer.release();
+ // Class initialization fails when this throws an exception.
+ static {
+ try {
+ Class.forName("android.media.audiofx.Visualizer");
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ /**
+ * Throws an exception if the {@link Visualizer} class is not available.
+ */
+ public static void checkAvailable() throws Throwable {
+ // Calling here forces class initialization.
+ }
+
+ public VisualizerController(Context context, int audioSessionId) {
+ this.context = context;
+ try {
+ this.audioSessionId = audioSessionId;
+ visualizer = new Visualizer(audioSessionId);
+ } catch (Throwable x) {
+ Log.w(TAG, "Failed to create visualizer.", x);
+ }
+
+ if (visualizer != null) {
+ int[] captureSizeRange = Visualizer.getCaptureSizeRange();
+ int captureSize = Math.max(PREFERRED_CAPTURE_SIZE, captureSizeRange[0]);
+ captureSize = Math.min(captureSize, captureSizeRange[1]);
+ visualizer.setCaptureSize(captureSize);
+ }
+ }
+
+ public boolean isAvailable() {
+ return visualizer != null;
+ }
+
+ public boolean isEnabled() {
+ return isAvailable() && visualizer.getEnabled();
+ }
+
+ public void release() {
+ if (isAvailable()) {
+ visualizer.release();
released = true;
- }
- }
+ }
+ }
- public Visualizer getVisualizer() {
+ public Visualizer getVisualizer() {
if(released) {
released = false;
try {
@@ -97,8 +96,8 @@ public class VisualizerController {
Log.w(TAG, "Failed to create visualizer.", x);
}
}
-
- return visualizer;
- }
+
+ return visualizer;
+ }
}