diff options
author | Eric Laurent <elaurent@google.com> | 2010-08-04 08:42:37 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-08-04 08:42:37 -0700 |
commit | 1340ee8a273a9b25a779f3b18d6f832ce496c68e (patch) | |
tree | 533739c0b3656e877aa414240de087969072dad0 /media | |
parent | 866362fcb4db93584143c21934ea355cbf9e0757 (diff) | |
parent | 17cb280e7f1ac3556eac90ab08263712e0348cb9 (diff) | |
download | frameworks_base-1340ee8a273a9b25a779f3b18d6f832ce496c68e.zip frameworks_base-1340ee8a273a9b25a779f3b18d6f832ce496c68e.tar.gz frameworks_base-1340ee8a273a9b25a779f3b18d6f832ce496c68e.tar.bz2 |
Merge "NEW_API: Unhide audio effect APIs." into gingerbread
Diffstat (limited to 'media')
-rw-r--r-- | media/java/android/media/AudioEffect.java | 48 | ||||
-rw-r--r-- | media/java/android/media/AudioTrack.java | 14 | ||||
-rw-r--r-- | media/java/android/media/BassBoost.java | 17 | ||||
-rw-r--r-- | media/java/android/media/EnvironmentalReverb.java | 42 | ||||
-rw-r--r-- | media/java/android/media/Equalizer.java | 59 | ||||
-rw-r--r-- | media/java/android/media/MediaPlayer.java | 63 | ||||
-rw-r--r-- | media/java/android/media/PresetReverb.java | 41 | ||||
-rw-r--r-- | media/java/android/media/Virtualizer.java | 17 | ||||
-rwxr-xr-x | media/java/android/media/Visualizer.java | 20 |
9 files changed, 148 insertions, 173 deletions
diff --git a/media/java/android/media/AudioEffect.java b/media/java/android/media/AudioEffect.java index 053cc22..aed29c3 100644 --- a/media/java/android/media/AudioEffect.java +++ b/media/java/android/media/AudioEffect.java @@ -42,8 +42,6 @@ import java.util.UUID; * <p>If the effect is to be applied to a specific AudioTrack or MediaPlayer instance, * the application must specify the audio session ID of that instance when calling the AudioEffect * constructor. - * - * { @hide Pending API council review } */ public class AudioEffect { static { @@ -107,15 +105,15 @@ public class AudioEffect { /** * Event id for engine state change notification. */ - protected static final int NATIVE_EVENT_ENABLED_STATUS = 0; + public static final int NATIVE_EVENT_ENABLED_STATUS = 0; /** * Event id for engine control ownership change notification. */ - protected static final int NATIVE_EVENT_CONTROL_STATUS = 1; + public static final int NATIVE_EVENT_CONTROL_STATUS = 1; /** * Event id for engine parameter change notification. */ - protected static final int NATIVE_EVENT_PARAMETER_CHANGED = 2; + public static final int NATIVE_EVENT_PARAMETER_CHANGED = 2; /** * Successful operation. @@ -203,15 +201,15 @@ public class AudioEffect { /** * Indicates the state of the AudioEffect instance */ - protected int mState = STATE_UNINITIALIZED; + private int mState = STATE_UNINITIALIZED; /** * Lock to synchronize access to mState */ - protected final Object mStateLock = new Object(); + private final Object mStateLock = new Object(); /** * System wide unique effect ID */ - protected int mId; + private int mId; // accessed by native methods private int mNativeAudioEffect; @@ -227,27 +225,27 @@ public class AudioEffect { * * @see #setEnableStatusListener(OnEnableStatusChangeListener) */ - protected OnEnableStatusChangeListener mEnableStatusChangeListener = null; + private OnEnableStatusChangeListener mEnableStatusChangeListener = null; /** * Listener for effect engine control ownership change notifications. * * @see #setControlStatusListener(OnControlStatusChangeListener) */ - protected OnControlStatusChangeListener mControlChangeStatusListener = null; + private OnControlStatusChangeListener mControlChangeStatusListener = null; /** * Listener for effect engine control ownership change notifications. * * @see #setParameterListener(OnParameterChangeListener) */ - protected OnParameterChangeListener mParameterChangeListener = null; + private OnParameterChangeListener mParameterChangeListener = null; /** * Lock to protect listeners updates against event notifications */ - protected final Object mListenerLock = new Object(); + public final Object mListenerLock = new Object(); /** * Handler for events coming from the native code */ - protected NativeEventHandler mNativeEventHandler = null; + public NativeEventHandler mNativeEventHandler = null; // -------------------------------------------------------------------------- // Constructor, Finalize @@ -275,7 +273,7 @@ public class AudioEffect { * how much the requesting application needs control of effect * parameters. The normal priority is 0, above normal is a * positive number, below normal a negative number. - * @param audioSession System wide unique audio session identifier. If audioSession + * @param audioSession system wide unique audio session identifier. If audioSession * is not 0, the effect will be attached to the MediaPlayer or * AudioTrack in the same audio session. Otherwise, the effect * will apply to the output mix. @@ -337,7 +335,7 @@ public class AudioEffect { /** * Get the effect descriptor. * - //TODO when AudioEffect class is unhidden @ see android.media.AudioEffect.Descriptor + * @see android.media.AudioEffect.Descriptor * @throws IllegalStateException */ public Descriptor getDescriptor() throws IllegalStateException { @@ -351,7 +349,7 @@ public class AudioEffect { /** * Query all effects available on the platform. Returns an array of - //TODO when AudioEffect class is unhidden: {@ link android.media.AudioEffect.Descriptor} objects + * {@link android.media.AudioEffect.Descriptor} objects * * @throws IllegalStateException */ @@ -967,7 +965,7 @@ public class AudioEffect { // Utility methods // ------------------ - protected void checkState(String methodName) throws IllegalStateException { + public void checkState(String methodName) throws IllegalStateException { synchronized (mStateLock) { if (mState != STATE_INITIALIZED) { throw (new IllegalStateException(methodName @@ -976,7 +974,7 @@ public class AudioEffect { } } - protected void checkStatus(int status) { + public void checkStatus(int status) { switch (status) { case AudioEffect.SUCCESS: break; @@ -991,37 +989,37 @@ public class AudioEffect { } } - protected int byteArrayToInt(byte[] valueBuf) { + public int byteArrayToInt(byte[] valueBuf) { return byteArrayToInt(valueBuf, 0); } - protected int byteArrayToInt(byte[] valueBuf, int offset) { + public int byteArrayToInt(byte[] valueBuf, int offset) { ByteBuffer converter = ByteBuffer.wrap(valueBuf); converter.order(ByteOrder.nativeOrder()); return converter.getInt(offset); } - protected byte[] intToByteArray(int value) { + public byte[] intToByteArray(int value) { ByteBuffer converter = ByteBuffer.allocate(4); converter.order(ByteOrder.nativeOrder()); converter.putInt(value); return converter.array(); } - protected short byteArrayToShort(byte[] valueBuf) { + public short byteArrayToShort(byte[] valueBuf) { return byteArrayToShort(valueBuf, 0); } - protected short byteArrayToShort(byte[] valueBuf, int offset) { + public short byteArrayToShort(byte[] valueBuf, int offset) { ByteBuffer converter = ByteBuffer.wrap(valueBuf); converter.order(ByteOrder.nativeOrder()); return converter.getShort(offset); } - protected byte[] shortToByteArray(short value) { + public byte[] shortToByteArray(short value) { ByteBuffer converter = ByteBuffer.allocate(2); converter.order(ByteOrder.nativeOrder()); short sValue = (short) value; @@ -1029,7 +1027,7 @@ public class AudioEffect { return converter.array(); } - protected byte[] concatArrays(byte[]... arrays) { + public byte[] concatArrays(byte[]... arrays) { int len = 0; for (byte[] a : arrays) { len += a.length; diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java index 6360541..7469133 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -298,8 +298,6 @@ public class AudioTrack * @param mode streaming or static buffer. See {@link #MODE_STATIC} and {@link #MODE_STREAM} * @param sessionId Id of audio session the AudioTrack must be attached to * @throws java.lang.IllegalArgumentException - // FIXME: unhide. - * @hide */ public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode, int sessionId) @@ -648,9 +646,6 @@ public class AudioTrack * Returns the audio session ID. * * @return the ID of the audio session this AudioTrack belongs to. - // FIXME: unhide. - // FIXME: link to AudioEffect class when public. - * @hide */ public int getAudioSessionId() { return mSessionId; @@ -972,17 +967,14 @@ public class AudioTrack * reverberation effect which can be applied on any sound source that directs a certain * amount of its energy to this effect. This amount is defined by setAuxEffectSendLevel(). * {@see #setAuxEffectSendLevel(float)}. - // TODO when AudioEffect are unhidden - * <p>After creating an auxiliary effect (e.g. {_at_link android.media.EnvironmentalReverb}), - * retrieve its ID with {_at_link android.media.AudioEffect#getId()} and use it when calling + * <p>After creating an auxiliary effect (e.g. {@link android.media.EnvironmentalReverb}), + * retrieve its ID with {@link android.media.AudioEffect#getId()} and use it when calling * this method to attach the audio track to the effect. * <p>To detach the effect from the audio track, call this method with a null effect id. * * @param effectId system wide unique id of the effect to attach * @return error code or success, see {@link #SUCCESS}, * {@link #ERROR_INVALID_OPERATION}, {@link #ERROR_BAD_VALUE} - // FIXME: unhide. - * @hide */ public int attachAuxEffect(int effectId) { if (mState != STATE_INITIALIZED) { @@ -1005,8 +997,6 @@ public class AudioTrack * @param level send level scalar * @return error code or success, see {@link #SUCCESS}, * {@link #ERROR_INVALID_OPERATION} - // FIXME: unhide. - * @hide */ public int setAuxEffectSendLevel(float level) { if (mState != STATE_INITIALIZED) { diff --git a/media/java/android/media/BassBoost.java b/media/java/android/media/BassBoost.java index 75c2c88..73c1751 100644 --- a/media/java/android/media/BassBoost.java +++ b/media/java/android/media/BassBoost.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,10 +40,7 @@ import java.util.StringTokenizer; * <p>To attach the BassBoost to a particular AudioTrack or MediaPlayer, specify the audio session * ID of this AudioTrack or MediaPlayer when constructing the BassBoost. If the audio session ID 0 * is specified, the BassBoost applies to the main audio output mix. - // TODO when AudioEffect is unhidden - // <p> See {_at_link android.media.AudioEffect} class for more details on controlling audio effects. - * - * {@hide Pending API council review} + * <p> See {@link android.media.AudioEffect} class for more details on controlling audio effects. */ public class BassBoost extends AudioEffect { @@ -88,7 +85,7 @@ public class BassBoost extends AudioEffect { * engine. As the same engine can be shared by several applications, this parameter indicates * how much the requesting application needs control of effect parameters. The normal priority * is 0, above normal is a positive number, below normal a negative number. - * @param audioSession System wide unique audio session identifier. If audioSession + * @param audioSession system wide unique audio session identifier. If audioSession * is not 0, the BassBoost will be attached to the MediaPlayer or AudioTrack in the * same audio session. Otherwise, the BassBoost will apply to the output mix. * @@ -121,7 +118,7 @@ public class BassBoost extends AudioEffect { * accuracy for setting the strength, it is allowed to round the given strength to the nearest * supported value. You can use the {@link #getRoundedStrength()} method to query the * (possibly rounded) value that was actually set. - * @param strength Strength of the effect. The valid range for strength strength is [0, 1000], + * @param strength strength of the effect. The valid range for strength strength is [0, 1000], * where 0 per mille designates the mildest effect and 1000 per mille designates the strongest. * @throws IllegalStateException * @throws IllegalArgumentException @@ -134,7 +131,7 @@ public class BassBoost extends AudioEffect { /** * Gets the current strength of the effect. - * @return The strength of the effect. The valid range for strength is [0, 1000], where 0 per + * @return the strength of the effect. The valid range for strength is [0, 1000], where 0 per * mille designates the mildest effect and 1000 per mille the strongest * @throws IllegalStateException * @throws IllegalArgumentException @@ -158,8 +155,7 @@ public class BassBoost extends AudioEffect { * BassBoost engine. * @param effect the BassBoost on which the interface is registered. * @param status status of the set parameter operation. - // TODO when AudioEffect is unhidden - // See {_at_link android.media.AudioEffect#setParameter(byte[], byte[])}. + * See {@link android.media.AudioEffect#setParameter(byte[], byte[])}. * @param param ID of the modified parameter. See {@link #PARAM_STRENGTH} ... * @param value the new parameter value. */ @@ -282,6 +278,7 @@ public class BassBoost extends AudioEffect { /** * Sets the bass boost properties. This method is useful when bass boost settings have to * be applied from a previous backup. + * @param settings a BassBoost.Settings object containing the properties to apply * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException diff --git a/media/java/android/media/EnvironmentalReverb.java b/media/java/android/media/EnvironmentalReverb.java index 3cc8452..b50febc 100644 --- a/media/java/android/media/EnvironmentalReverb.java +++ b/media/java/android/media/EnvironmentalReverb.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -39,8 +39,7 @@ import java.util.StringTokenizer; * The EnvironmentalReverb class allows an application to control each reverb engine property in a * global reverb environment and is more suitable for games. For basic control, more suitable for * music applications, it is recommended to use the - // TODO when PresetReverb is unhidden - // {_at_link android.media.PresetReverb} class. + * {@link android.media.PresetReverb} class. * <p>An application creates a EnvironmentalReverb object to instantiate and control a reverb engine * in the audio framework. * <p>The methods, parameter types and units exposed by the EnvironmentalReverb implementation are @@ -52,11 +51,8 @@ import java.util.StringTokenizer; * they must be explicitely attached to it and a send level must be specified. Use the effect ID * returned by getId() method to designate this particular effect when attaching it to the * MediaPlayer or AudioTrack. - // TODO when AudioEffect is unhidden - // <p> See {_at_link android.media.AudioEffect} class for more details on controlling + * <p> See {@link android.media.AudioEffect} class for more details on controlling * audio effects. - * - * {@hide Pending API council review} */ public class EnvironmentalReverb extends AudioEffect { @@ -67,8 +63,7 @@ public class EnvironmentalReverb extends AudioEffect { // frameworks/base/include/media/EffectEnvironmentalReverbApi.h /** - * Room level. Parameter ID for - * {@link android.media.EnvironmentalReverb.OnParameterChangeListener} + * Room level. Parameter ID for OnParameterChangeListener */ public static final int PARAM_ROOM_LEVEL = 0; /** @@ -80,7 +75,8 @@ public class EnvironmentalReverb extends AudioEffect { */ public static final int PARAM_DECAY_TIME = 2; /** - * Decay HF ratio. Parameter ID for OnParameterChangeListener + * Decay HF ratio. Parameter ID for + * {@link android.media.EnvironmentalReverb.OnParameterChangeListener} */ public static final int PARAM_DECAY_HF_RATIO = 3; /** @@ -133,7 +129,7 @@ public class EnvironmentalReverb extends AudioEffect { * EnvironmentalReverb engine. As the same engine can be shared by several applications, this * parameter indicates how much the requesting application needs control of effect parameters. * The normal priority is 0, above normal is a positive number, below normal a negative number. - * @param audioSession System wide unique audio session identifier. If audioSession + * @param audioSession system wide unique audio session identifier. If audioSession * is not 0, the EnvironmentalReverb will be attached to the MediaPlayer or AudioTrack in the * same audio session. Otherwise, the EnvironmentalReverb will apply to the output mix. * As the EnvironmentalReverb is an auxiliary effect it is recommended to instantiate it on @@ -150,7 +146,7 @@ public class EnvironmentalReverb extends AudioEffect { /** * Sets the master volume level of the environmental reverb effect. - * @param room Room level in millibels. The valid range is [-9000, 0]. + * @param room room level in millibels. The valid range is [-9000, 0]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -179,7 +175,7 @@ public class EnvironmentalReverb extends AudioEffect { * Sets the volume level at 5 kHz relative to the volume level at low frequencies of the * overall reverb effect. * <p>This controls a low-pass filter that will reduce the level of the high-frequency. - * @param roomHF High frequency attenuation level in millibels. The valid range is [-9000, 0]. + * @param roomHF high frequency attenuation level in millibels. The valid range is [-9000, 0]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -206,7 +202,7 @@ public class EnvironmentalReverb extends AudioEffect { /** * Sets the time taken for the level of reverberation to decay by 60 dB. - * @param decayTime Decay time in milliseconds. The valid range is [100, 20000]. + * @param decayTime decay time in milliseconds. The valid range is [100, 20000]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -234,7 +230,7 @@ public class EnvironmentalReverb extends AudioEffect { /** * Sets the ratio of high frequency decay time (at 5 kHz) relative to the decay time at low * frequencies. - * @param decayHFRatio High frequency decay ratio using a permille scale. The valid range is + * @param decayHFRatio high frequency decay ratio using a permille scale. The valid range is * [100, 2000]. A ratio of 1000 indicates that all frequencies decay at the same rate. * @throws IllegalStateException * @throws IllegalArgumentException @@ -264,7 +260,7 @@ public class EnvironmentalReverb extends AudioEffect { * Sets the volume level of the early reflections. * <p>This level is combined with the overall room level * (set using {@link #setRoomLevel(short)}). - * @param reflectionsLevel Reflection level in millibels. The valid range is [-9000, 1000]. + * @param reflectionsLevel reflection level in millibels. The valid range is [-9000, 1000]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -293,7 +289,7 @@ public class EnvironmentalReverb extends AudioEffect { * Sets the delay time for the early reflections. * <p>This method sets the time between when the direct path is heard and when the first * reflection is heard. - * @param reflectionsDelay Reflections delay in milliseconds. The valid range is [0, 300]. + * @param reflectionsDelay reflections delay in milliseconds. The valid range is [0, 300]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -321,7 +317,7 @@ public class EnvironmentalReverb extends AudioEffect { /** * Sets the volume level of the late reverberation. * <p>This level is combined with the overall room level (set using {@link #setRoomLevel(short)}). - * @param reverbLevel Reverb level in millibels. The valid range is [-9000, 2000]. + * @param reverbLevel reverb level in millibels. The valid range is [-9000, 2000]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -348,7 +344,7 @@ public class EnvironmentalReverb extends AudioEffect { /** * Sets the time between the first reflection and the reverberation. - * @param reverbDelay Reverb delay in milliseconds. The valid range is [0, 100]. + * @param reverbDelay reverb delay in milliseconds. The valid range is [0, 100]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -376,7 +372,7 @@ public class EnvironmentalReverb extends AudioEffect { /** * Sets the echo density in the late reverberation decay. * <p>The scale should approximately map linearly to the perceived change in reverberation. - * @param diffusion Diffusion specified using a permille scale. The diffusion valid range is + * @param diffusion diffusion specified using a permille scale. The diffusion valid range is * [0, 1000]. A value of 1000 o/oo indicates a smooth reverberation decay. * Values below this level give a more <i>grainy</i> character. * @throws IllegalStateException @@ -409,7 +405,7 @@ public class EnvironmentalReverb extends AudioEffect { * <p> The scale should approximately map linearly to the perceived change in reverberation. * A lower density creates a hollow sound that is useful for simulating small reverberation * spaces such as bathrooms. - * @param density Density specified using a permille scale. The valid range is [0, 1000]. + * @param density density specified using a permille scale. The valid range is [0, 1000]. * A value of 1000 o/oo indicates a natural sounding reverberation. Values below this level * produce a more colored effect. * @throws IllegalStateException @@ -448,8 +444,7 @@ public class EnvironmentalReverb extends AudioEffect { * EnvironmentalReverb engine. * @param effect the EnvironmentalReverb on which the interface is registered. * @param status status of the set parameter operation. - // TODO when AudioEffect is unhidden - // See {_at_link android.media.AudioEffect#setParameter(byte[], byte[])}. + * See {@link android.media.AudioEffect#setParameter(byte[], byte[])}. * @param param ID of the modified parameter. See {@link #PARAM_ROOM_LEVEL} ... * @param value the new parameter value. */ @@ -649,6 +644,7 @@ public class EnvironmentalReverb extends AudioEffect { /** * Sets the environmental reverb properties. This method is useful when reverb settings have to * be applied from a previous backup. + * @param settings a EnvironmentalReverb.Settings object containing the properties to apply * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException diff --git a/media/java/android/media/Equalizer.java b/media/java/android/media/Equalizer.java index b062b64..6fa48c5 100644 --- a/media/java/android/media/Equalizer.java +++ b/media/java/android/media/Equalizer.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,10 +41,7 @@ import java.util.StringTokenizer; * <p>To attach the Equalizer to a particular AudioTrack or MediaPlayer, specify the audio session * ID of this AudioTrack or MediaPlayer when constructing the Equalizer. If the audio session ID 0 * is specified, the Equalizer applies to the main audio output mix. - // TODO when AudioEffect is unhidden - // <p> See {_at_link android.media.AudioEffect} class for more details on controlling audio effects. - * - * {@hide Pending API council review} + * <p> See {@link android.media.AudioEffect} class for more details on controlling audio effects. */ public class Equalizer extends AudioEffect { @@ -54,7 +51,7 @@ public class Equalizer extends AudioEffect { // These constants must be synchronized with those in // frameworks/base/include/media/EffectEqualizerApi.h /** - * Number of bands. Parameter ID for {@link android.media.Equalizer.OnParameterChangeListener} + * Number of bands. Parameter ID for OnParameterChangeListener */ public static final int PARAM_NUM_BANDS = 0; /** @@ -70,11 +67,13 @@ public class Equalizer extends AudioEffect { */ public static final int PARAM_CENTER_FREQ = 3; /** - * Band frequency range. Parameter ID for OnParameterChangeListener + * Band frequency range. Parameter ID for + * {@link android.media.Equalizer.OnParameterChangeListener} */ public static final int PARAM_BAND_FREQ_RANGE = 4; /** * Band for a given frequency. Parameter ID for OnParameterChangeListener + * */ public static final int PARAM_GET_BAND = 5; /** @@ -92,7 +91,7 @@ public class Equalizer extends AudioEffect { // used by setProperties()/getProperties private static final int PARAM_PROPERTIES = 9; /** - * maximum size for perset name + * Maximum size for preset name */ public static final int PARAM_STRING_SIZE_MAX = 32; @@ -131,7 +130,7 @@ public class Equalizer extends AudioEffect { * engine. As the same engine can be shared by several applications, this parameter indicates * how much the requesting application needs control of effect parameters. The normal priority * is 0, above normal is a positive number, below normal a negative number. - * @param audioSession System wide unique audio session identifier. If audioSession + * @param audioSession system wide unique audio session identifier. If audioSession * is not 0, the Equalizer will be attached to the MediaPlayer or AudioTrack in the * same audio session. Otherwise, the Equalizer will apply to the output mix. * @@ -189,7 +188,7 @@ public class Equalizer extends AudioEffect { } /** - * Gets the level range for use by {@link #setBandLevel(int,short)}. The level is expressed in + * Gets the level range for use by {@link #setBandLevel(short,short)}. The level is expressed in * milliBel. * @return the band level range in an array of short integers. The first element is the lower * limit of the range, the second element the upper limit. @@ -206,13 +205,14 @@ public class Equalizer extends AudioEffect { /** * Sets the given equalizer band to the given gain value. - * @param band Frequency band that will have the new gain. The numbering of the bands starts - * from 0 and ends at (number of bands - 1). See @see #getNumberOfBands(). - * @param level New gain in millibels that will be set to the given band. getBandLevelRange() + * @param band frequency band that will have the new gain. The numbering of the bands starts + * from 0 and ends at (number of bands - 1). + * @param level new gain in millibels that will be set to the given band. getBandLevelRange() * will define the maximum and minimum values. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException + * @see #getNumberOfBands() */ public void setBandLevel(short band, short level) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { @@ -227,9 +227,9 @@ public class Equalizer extends AudioEffect { /** * Gets the gain set for the given equalizer band. - * @param band Frequency band whose gain is requested. The numbering of the bands starts + * @param band frequency band whose gain is requested. The numbering of the bands starts * from 0 and ends at (number of bands - 1). - * @return Gain in millibels of the given band. + * @return the gain in millibels of the given band. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -249,9 +249,9 @@ public class Equalizer extends AudioEffect { /** * Gets the center frequency of the given band. - * @param band Frequency band whose center frequency is requested. The numbering of the bands + * @param band frequency band whose center frequency is requested. The numbering of the bands * starts from 0 and ends at (number of bands - 1). - * @return The center frequency in milliHertz + * @return the center frequency in milliHertz * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -270,9 +270,9 @@ public class Equalizer extends AudioEffect { /** * Gets the frequency range of the given frequency band. - * @param band Frequency band whose frequency range is requested. The numbering of the bands + * @param band frequency band whose frequency range is requested. The numbering of the bands * starts from 0 and ends at (number of bands - 1). - * @return The frequency range in millHertz in an array of integers. The first element is the + * @return the frequency range in millHertz in an array of integers. The first element is the * lower limit of the range, the second element the upper limit. * @throws IllegalStateException * @throws IllegalArgumentException @@ -291,8 +291,8 @@ public class Equalizer extends AudioEffect { /** * Gets the band that has the most effect on the given frequency. - * @param frequency Frequency in milliHertz which is to be equalized via the returned band. - * @return Frequency band that has most effect on the given frequency. + * @param frequency frequency in milliHertz which is to be equalized via the returned band. + * @return the frequency band that has most effect on the given frequency. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -311,7 +311,7 @@ public class Equalizer extends AudioEffect { /** * Gets current preset. - * @return Preset that is set at the moment. + * @return the preset that is set at the moment. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -325,11 +325,12 @@ public class Equalizer extends AudioEffect { /** * Sets the equalizer according to the given preset. - * @param preset New preset that will be taken into use. The valid range is [0, - * number of presets-1]. See {@see #getNumberOfPresets()}. + * @param preset new preset that will be taken into use. The valid range is [0, + * number of presets-1]. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException + * @see #getNumberOfPresets() */ public void usePreset(short preset) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { @@ -339,7 +340,7 @@ public class Equalizer extends AudioEffect { /** * Gets the total number of presets the equalizer supports. The presets will have indices * [0, number of presets-1]. - * @return The number of presets the equalizer supports. + * @return the number of presets the equalizer supports. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -353,8 +354,8 @@ public class Equalizer extends AudioEffect { /** * Gets the preset name based on the index. - * @param preset Index of the preset. The valid range is [0, number of presets-1]. - * @return A string containing the name of the given preset. + * @param preset index of the preset. The valid range is [0, number of presets-1]. + * @return a string containing the name of the given preset. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -379,8 +380,7 @@ public class Equalizer extends AudioEffect { * Equalizer engine. * @param effect the Equalizer on which the interface is registered. * @param status status of the set parameter operation. - // TODO when AudioEffect is unhidden - // See {_at_link android.media.AudioEffect#setParameter(byte[], byte[])}. + * See {@link android.media.AudioEffect#setParameter(byte[], byte[])}. * @param param1 ID of the modified parameter. See {@link #PARAM_BAND_LEVEL} ... * @param param2 additional parameter qualifier (e.g the band for band level parameter). * @param value the new parameter value. @@ -539,6 +539,7 @@ public class Equalizer extends AudioEffect { /** * Sets the equalizer properties. This method is useful when equalizer settings have to * be applied from a previous backup. + * @param settings an Equalizer.Settings object containing the properties to apply * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java index e1f95b2..b8403e1 100644 --- a/media/java/android/media/MediaPlayer.java +++ b/media/java/android/media/MediaPlayer.java @@ -273,6 +273,16 @@ import java.lang.ref.WeakReference; * <td>Valid Sates </p></td> * <td>Invalid States </p></td> * <td>Comments </p></td></tr> + * <tr><td>attachAuxEffect </p></td> + * <td>{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted} </p></td> + * <td>{Idle, Error} </p></td> + * <td>This method must be called after setDataSource. + * Calling it does not change the object state. </p></td></tr> + * <tr><td>getAudioSessionId </p></td> + * <td>any </p></td> + * <td>{} </p></td> + * <td>This method can be called in any state and calling it does not change + * the object state. </p></td></tr> * <tr><td>getCurrentPosition </p></td> * <td>{Idle, Initialized, Prepared, Started, Paused, Stopped, * PlaybackCompleted} </p></td> @@ -340,6 +350,12 @@ import java.lang.ref.WeakReference; * <td>Successful invoke of this method in a valid state does not change * the state. Calling this method in an invalid state transfers the * object to the <em>Error</em> state. </p></td></tr> + * <tr><td>setAudioSessionId </p></td> + * <td>{Idle} </p></td> + * <td>{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted, + * Error} </p></td> + * <td>This method must be called in idle state as the audio session ID must be known before + * calling setDataSource. Calling it does not change the object state. </p></td></tr> * <tr><td>setAudioStreamType </p></td> * <td>{Idle, Initialized, Stopped, Prepared, Started, Paused, * PlaybackCompleted}</p></td> @@ -347,6 +363,10 @@ import java.lang.ref.WeakReference; * <td>Successful invoke of this method does not change the state. In order for the * target audio stream type to become effective, this method must be called before * prepare() or prepareAsync().</p></td></tr> + * <tr><td>setAuxEffectSendLevel </p></td> + * <td>any</p></td> + * <td>{} </p></td> + * <td>Calling this method does not change the object state. </p></td></tr> * <tr><td>setDataSource </p></td> * <td>{Idle} </p></td> * <td>{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted, @@ -423,26 +443,6 @@ import java.lang.ref.WeakReference; * <td>Successful invoke of this method in a valid state transfers the * object to the <em>Stopped</em> state. Calling this method in an * invalid state transfers the object to the <em>Error</em> state.</p></td></tr> - * <tr><td>setAudioSessionId </p></td> - * <td>{Idle} </p></td> - * <td>{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted, - * Error} </p></td> - * <td>This method must be called in idle state as the audio session ID must be known before - * calling setDataSource. Calling it does not change the object state. </p></td></tr> - * <tr><td>getAudioSessionId </p></td> - * <td>any </p></td> - * <td>{} </p></td> - * <td>This method can be called in any state and calling it does not change - * the object state. </p></td></tr> - * <tr><td>attachAuxEffect </p></td> - * <td>{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted} </p></td> - * <td>{Idle, Error} </p></td> - * <td>This method must be called after setDataSource. - * Calling it does not change the object state. </p></td></tr> - * <tr><td>setAuxEffectSendLevel </p></td> - * <td>any</p></td> - * <td>{} </p></td> - * <td>Calling this method does not change the object state. </p></td></tr> * * </table> * @@ -1182,7 +1182,7 @@ public class MediaPlayer /** * Sets the audio session ID. * - * @param sessionId: the audio session ID. + * @param sessionId the audio session ID. * The audio session ID is a system wide unique identifier for the audio stream played by * this MediaPlayer instance. * The primary use of the audio session ID is to associate audio effects to a particular @@ -1194,20 +1194,14 @@ public class MediaPlayer * by calling this method. * This method must be called before one of the overloaded <code> setDataSource </code> methods. * @throws IllegalStateException if it is called in an invalid state - * - // FIXME: unhide. - // TODO when AudioEffect is unhidden - * @hide */ public native void setAudioSessionId(int sessionId) throws IllegalArgumentException, IllegalStateException; /** * Returns the audio session ID. * - * @return the audio session ID. {@see #setAudioSessionId(int)}. + * @return the audio session ID. {@see #setAudioSessionId(int)} * Note that the audio session ID is 0 only if a problem occured when the MediaPlayer was contructed. - // FIXME: unhide. - * @hide */ public native int getAudioSessionId(); @@ -1217,16 +1211,13 @@ public class MediaPlayer * energy to this effect. This amount is defined by setAuxEffectSendLevel(). * {@see #setAuxEffectSendLevel(float)}. // TODO when AudioEffect is unhidden - * <p>After creating an auxiliary effect (e.g. {_at_link android.media.EnvironmentalReverb}), - * retrieve its ID with {_at_link android.media.AudioEffect#getId()} and use it when calling + * <p>After creating an auxiliary effect (e.g. {@link android.media.EnvironmentalReverb}), + * retrieve its ID with {@link android.media.AudioEffect#getId()} and use it when calling * this method to attach the player to the effect. * <p>To detach the effect from the player, call this method with a null effect id. * <p>This method must be called after one of the overloaded <code> setDataSource </code> * methods. - * * @param effectId system wide unique id of the effect to attach - // FIXME: unhide. - * @hide */ public native void attachAuxEffect(int effectId); @@ -1241,8 +1232,6 @@ public class MediaPlayer * x == 0 -> level = 0 * 0 < x <= R -> level = 10^(72*(x-R)/20/R) * @param level send level scalar - // FIXME: unhide. - * @hide */ public native void setAuxEffectSendLevel(float level); @@ -1676,8 +1665,4 @@ public class MediaPlayer private OnInfoListener mOnInfoListener; - /** - * @hide - */ - public native static int snoop(short [] outData, int kind); } diff --git a/media/java/android/media/PresetReverb.java b/media/java/android/media/PresetReverb.java index c7d7037..1ec36fc 100644 --- a/media/java/android/media/PresetReverb.java +++ b/media/java/android/media/PresetReverb.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,8 +40,7 @@ import java.util.StringTokenizer; * The PresetReverb class allows an application to configure the global reverb using a reverb preset. * This is primarily used for adding some reverb in a music playback context. Applications * requiring control over a more advanced environmental reverb are advised to use the - // TODO when EnvironmentalReverb is unhidden - // {_at_link android.media.EnvironmentalReverb} class. + * {@link android.media.EnvironmentalReverb} class. * <p>An application creates a PresetReverb object to instantiate and control a reverb engine in the * audio framework. * <p>The methods, parameter types and units exposed by the PresetReverb implementation are @@ -53,10 +52,7 @@ import java.util.StringTokenizer; * they must be explicitely attached to it and a send level must be specified. Use the effect ID * returned by getId() method to designate this particular effect when attaching it to the * MediaPlayer or AudioTrack. - // TODO when AudioEffect is unhidden - // <p> See {_at_link android.media.AudioEffect} class for more details on controlling audio effects. - * - * {@hide Pending API council review} + * <p> See {@link android.media.AudioEffect} class for more details on controlling audio effects. */ public class PresetReverb extends AudioEffect { @@ -73,15 +69,32 @@ public class PresetReverb extends AudioEffect { public static final int PARAM_PRESET = 0; /** - * Room level. Parameter ID for - * {@link android.media.PresetReverb.OnParameterChangeListener} + * No reverb or reflections */ public static final int PRESET_NONE = 0; + /** + * Reverb preset representing a small room less than five meters in length + */ public static final int PRESET_SMALLROOM = 1; + /** + * Reverb preset representing a medium room with a length of ten meters or less + */ public static final int PRESET_MEDIUMROOM = 2; + /** + * Reverb preset representing a large-sized room suitable for live performances + */ public static final int PRESET_LARGEROOM = 3; + /** + * Reverb preset representing a medium-sized hall + */ public static final int PRESET_MEDIUMHALL = 4; + /** + * Reverb preset representing a large-sized hall suitable for a full orchestra + */ public static final int PRESET_LARGEHALL = 5; + /** + * Reverb preset representing a synthesis of the traditional plate reverb + */ public static final int PRESET_PLATE = 6; /** @@ -105,7 +118,7 @@ public class PresetReverb extends AudioEffect { * PresetReverb engine. As the same engine can be shared by several applications, this * parameter indicates how much the requesting application needs control of effect parameters. * The normal priority is 0, above normal is a positive number, below normal a negative number. - * @param audioSession System wide unique audio session identifier. If audioSession + * @param audioSession system wide unique audio session identifier. If audioSession * is not 0, the PresetReverb will be attached to the MediaPlayer or AudioTrack in the * same audio session. Otherwise, the PresetReverb will apply to the output mix. * As the PresetReverb is an auxiliary effect it is recommended to instantiate it on @@ -125,7 +138,7 @@ public class PresetReverb extends AudioEffect { * <p>The reverb PRESET_NONE disables any reverb from the current output but does not free the * resources associated with the reverb. For an application to signal to the implementation * to free the resources, it must call the release() method. - * @param preset This must be one of the the preset constants defined in this class. + * @param preset this must be one of the the preset constants defined in this class. * e.g. {@link #PRESET_SMALLROOM} * @throws IllegalStateException * @throws IllegalArgumentException @@ -138,7 +151,7 @@ public class PresetReverb extends AudioEffect { /** * Gets current reverb preset. - * @return Preset that is set at the moment. + * @return the preset that is set at the moment. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException @@ -161,8 +174,7 @@ public class PresetReverb extends AudioEffect { * PresetReverb engine. * @param effect the PresetReverb on which the interface is registered. * @param status status of the set parameter operation. - // TODO when AudioEffect is unhidden - // See {_at_link android.media.AudioEffect#setParameter(byte[], byte[])}. + * See {@link android.media.AudioEffect#setParameter(byte[], byte[])}. * @param param ID of the modified parameter. See {@link #PARAM_PRESET} ... * @param value the new parameter value. */ @@ -285,6 +297,7 @@ public class PresetReverb extends AudioEffect { /** * Sets the preset reverb properties. This method is useful when preset reverb settings have to * be applied from a previous backup. + * @param settings a PresetReverb.Settings object containing the properties to apply * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException diff --git a/media/java/android/media/Virtualizer.java b/media/java/android/media/Virtualizer.java index 2c8909e..d03c2a8 100644 --- a/media/java/android/media/Virtualizer.java +++ b/media/java/android/media/Virtualizer.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,10 +42,7 @@ import java.util.StringTokenizer; * <p>To attach the Virtualizer to a particular AudioTrack or MediaPlayer, specify the audio session * ID of this AudioTrack or MediaPlayer when constructing the Virtualizer. If the audio session ID 0 * is specified, the Virtualizer applies to the main audio output mix. - // TODO when AudioEffect is unhidden - // <p> See {_at_link android.media.AudioEffect} class for more details on controlling audio effects. - * - * {@hide Pending API council review} + * <p> See {@link android.media.AudioEffect} class for more details on controlling audio effects. */ public class Virtualizer extends AudioEffect { @@ -89,7 +86,7 @@ public class Virtualizer extends AudioEffect { * engine. As the same engine can be shared by several applications, this parameter indicates * how much the requesting application needs control of effect parameters. The normal priority * is 0, above normal is a positive number, below normal a negative number. - * @param audioSession System wide unique audio session identifier. If audioSession + * @param audioSession system wide unique audio session identifier. If audioSession * is not 0, the Virtualizer will be attached to the MediaPlayer or AudioTrack in the * same audio session. Otherwise, the Virtualizer will apply to the output mix. * @@ -122,7 +119,7 @@ public class Virtualizer extends AudioEffect { * accuracy for setting the strength, it is allowed to round the given strength to the nearest * supported value. You can use the {@link #getRoundedStrength()} method to query the * (possibly rounded) value that was actually set. - * @param strength Strength of the effect. The valid range for strength strength is [0, 1000], + * @param strength strength of the effect. The valid range for strength strength is [0, 1000], * where 0 per mille designates the mildest effect and 1000 per mille designates the strongest. * @throws IllegalStateException * @throws IllegalArgumentException @@ -135,7 +132,7 @@ public class Virtualizer extends AudioEffect { /** * Gets the current strength of the effect. - * @return The strength of the effect. The valid range for strength is [0, 1000], where 0 per + * @return the strength of the effect. The valid range for strength is [0, 1000], where 0 per * mille designates the mildest effect and 1000 per mille the strongest * @throws IllegalStateException * @throws IllegalArgumentException @@ -159,8 +156,7 @@ public class Virtualizer extends AudioEffect { * Virtualizer engine. * @param effect the Virtualizer on which the interface is registered. * @param status status of the set parameter operation. - // TODO when AudioEffect is unhidden - // See {_at_link android.media.AudioEffect#setParameter(byte[], byte[])}. + * See {@link android.media.AudioEffect#setParameter(byte[], byte[])}. * @param param ID of the modified parameter. See {@link #PARAM_STRENGTH} ... * @param value the new parameter value. */ @@ -283,6 +279,7 @@ public class Virtualizer extends AudioEffect { /** * Sets the virtualizer properties. This method is useful when virtualizer settings have to * be applied from a previous backup. + * @param settings a Virtualizer.Settings object containing the properties to apply * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException diff --git a/media/java/android/media/Visualizer.java b/media/java/android/media/Visualizer.java index cdd3cdf..453fc04 100755 --- a/media/java/android/media/Visualizer.java +++ b/media/java/android/media/Visualizer.java @@ -57,8 +57,6 @@ import android.os.Message; * When data capture is not needed any more, the Visualizer should be disabled. * <p>It is good practice to call the {@link #release()} method when the Visualizer is not used * anymore to free up native resources associated to the Visualizer instance. - * - * {@hide Pending API council review} */ public class Visualizer { @@ -84,8 +82,8 @@ public class Visualizer { public static final int STATE_ENABLED = 2; // to keep in sync with frameworks/base/media/jni/audioeffect/android_media_Visualizer.cpp - protected static final int NATIVE_EVENT_PCM_CAPTURE = 0; - protected static final int NATIVE_EVENT_FFT_CAPTURE = 1; + private static final int NATIVE_EVENT_PCM_CAPTURE = 0; + private static final int NATIVE_EVENT_FFT_CAPTURE = 1; // Error codes: /** @@ -127,28 +125,28 @@ public class Visualizer { /** * Indicates the state of the Visualizer instance */ - protected int mState = STATE_UNINITIALIZED; + private int mState = STATE_UNINITIALIZED; /** * Lock to synchronize access to mState */ - protected final Object mStateLock = new Object(); + private final Object mStateLock = new Object(); /** * System wide unique Identifier of the visualizer engine used by this Visualizer instance */ - protected int mId; + private int mId; /** * Lock to protect listeners updates against event notifications */ - protected final Object mListenerLock = new Object(); + private final Object mListenerLock = new Object(); /** * Handler for events coming from the native code */ - protected NativeEventHandler mNativeEventHandler = null; + private NativeEventHandler mNativeEventHandler = null; /** * PCM and FFT capture listener registered by client */ - protected OnDataCaptureListener mCaptureListener = null; + private OnDataCaptureListener mCaptureListener = null; // accessed by native methods private int mNativeVisualizer; @@ -159,7 +157,7 @@ public class Visualizer { //-------------------- /** * Class constructor. - * @param audioSession System wide unique audio session identifier. If audioSession + * @param audioSession system wide unique audio session identifier. If audioSession * is not 0, the visualizer will be attached to the MediaPlayer or AudioTrack in the * same audio session. Otherwise, the Visualizer will apply to the output mix. * |