Loading api/current.txt +0 −23 Original line number Diff line number Diff line Loading @@ -14075,29 +14075,6 @@ package android.media { method public android.media.AudioAttributes.Builder setUsage(int); } public class AudioDevice { field public static final int DEVICE_TYPE_AUX_LINE = 19; // 0x13 field public static final int DEVICE_TYPE_BLUETOOTH_A2DP = 8; // 0x8 field public static final int DEVICE_TYPE_BLUETOOTH_SCO = 7; // 0x7 field public static final int DEVICE_TYPE_BUILTIN_EARPIECE = 1; // 0x1 field public static final int DEVICE_TYPE_BUILTIN_MIC = 15; // 0xf field public static final int DEVICE_TYPE_BUILTIN_SPEAKER = 2; // 0x2 field public static final int DEVICE_TYPE_DOCK = 13; // 0xd field public static final int DEVICE_TYPE_FM = 14; // 0xe field public static final int DEVICE_TYPE_FM_TUNER = 16; // 0x10 field public static final int DEVICE_TYPE_HDMI = 9; // 0x9 field public static final int DEVICE_TYPE_HDMI_ARC = 10; // 0xa field public static final int DEVICE_TYPE_LINE_ANALOG = 5; // 0x5 field public static final int DEVICE_TYPE_LINE_DIGITAL = 6; // 0x6 field public static final int DEVICE_TYPE_TELEPHONY = 18; // 0x12 field public static final int DEVICE_TYPE_TV_TUNER = 17; // 0x11 field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0 field public static final int DEVICE_TYPE_USB_ACCESSORY = 12; // 0xc field public static final int DEVICE_TYPE_USB_DEVICE = 11; // 0xb field public static final int DEVICE_TYPE_WIRED_HEADPHONES = 4; // 0x4 field public static final int DEVICE_TYPE_WIRED_HEADSET = 3; // 0x3 } public class AudioFormat { method public int getChannelMask(); method public int getEncoding(); media/java/android/media/AudioDevice.java +79 −78 Original line number Diff line number Diff line Loading @@ -20,90 +20,91 @@ import android.util.SparseIntArray; /** * Class to provide information about the audio devices. * @hide */ public class AudioDevice { /** * A device type associated with an unknown or uninitialized device. */ public static final int DEVICE_TYPE_UNKNOWN = 0; public static final int TYPE_UNKNOWN = 0; /** * A device type describing the attached earphone speaker. */ public static final int DEVICE_TYPE_BUILTIN_EARPIECE = 1; public static final int TYPE_BUILTIN_EARPIECE = 1; /** * A device type describing the speaker system (i.e. a mono speaker or stereo speakers) built * in a device. */ public static final int DEVICE_TYPE_BUILTIN_SPEAKER = 2; public static final int TYPE_BUILTIN_SPEAKER = 2; /** * A device type describing a headset, which is the combination of a headphones and microphone. */ public static final int DEVICE_TYPE_WIRED_HEADSET = 3; public static final int TYPE_WIRED_HEADSET = 3; /** * A device type describing a pair of wired headphones . */ public static final int DEVICE_TYPE_WIRED_HEADPHONES = 4; public static final int TYPE_WIRED_HEADPHONES = 4; /** * A device type describing an analog line-level connection. */ public static final int DEVICE_TYPE_LINE_ANALOG = 5; public static final int TYPE_LINE_ANALOG = 5; /** * A device type describing a digital line connection (e.g. SPDIF). */ public static final int DEVICE_TYPE_LINE_DIGITAL = 6; public static final int TYPE_LINE_DIGITAL = 6; /** * A device type describing a Bluetooth device typically used for telephony . */ public static final int DEVICE_TYPE_BLUETOOTH_SCO = 7; public static final int TYPE_BLUETOOTH_SCO = 7; /** * A device type describing a Bluetooth device supporting the A2DP profile. */ public static final int DEVICE_TYPE_BLUETOOTH_A2DP = 8; public static final int TYPE_BLUETOOTH_A2DP = 8; /** * A device type describing an HDMI connection . */ public static final int DEVICE_TYPE_HDMI = 9; public static final int TYPE_HDMI = 9; /** * A device type describing the Audio Return Channel of an HDMI connection. */ public static final int DEVICE_TYPE_HDMI_ARC = 10; public static final int TYPE_HDMI_ARC = 10; /** * A device type describing a USB audio device. */ public static final int DEVICE_TYPE_USB_DEVICE = 11; public static final int TYPE_USB_DEVICE = 11; /** * A device type describing a USB audio device in accessory mode. */ public static final int DEVICE_TYPE_USB_ACCESSORY = 12; public static final int TYPE_USB_ACCESSORY = 12; /** * A device type describing the audio device associated with a dock. */ public static final int DEVICE_TYPE_DOCK = 13; public static final int TYPE_DOCK = 13; /** * A device type associated with the transmission of audio signals over FM. */ public static final int DEVICE_TYPE_FM = 14; public static final int TYPE_FM = 14; /** * A device type describing the microphone(s) built in a device. */ public static final int DEVICE_TYPE_BUILTIN_MIC = 15; public static final int TYPE_BUILTIN_MIC = 15; /** * A device type for accessing the audio content transmitted over FM. */ public static final int DEVICE_TYPE_FM_TUNER = 16; public static final int TYPE_FM_TUNER = 16; /** * A device type for accessing the audio content transmitted over the TV tuner system. */ public static final int DEVICE_TYPE_TV_TUNER = 17; public static final int TYPE_TV_TUNER = 17; /** * A device type describing the transmission of audio signals over the telephony network. */ public static final int DEVICE_TYPE_TELEPHONY = 18; public static final int TYPE_TELEPHONY = 18; /** * A device type describing the auxiliary line-level connectors. */ public static final int DEVICE_TYPE_AUX_LINE = 19; public static final int TYPE_AUX_LINE = 19; AudioDevicePortConfig mConfig; Loading Loading @@ -135,7 +136,7 @@ public class AudioDevice { * @return */ public int getDeviceType() { return INT_TO_EXT_DEVICE_MAPPING.get(mConfig.port().type(), DEVICE_TYPE_UNKNOWN); return INT_TO_EXT_DEVICE_MAPPING.get(mConfig.port().type(), TYPE_UNKNOWN); } /** Loading @@ -154,7 +155,7 @@ public class AudioDevice { /** @hide */ public static int convertInternalDeviceToDeviceType(int intDevice) { return INT_TO_EXT_DEVICE_MAPPING.get(intDevice, DEVICE_TYPE_UNKNOWN); return INT_TO_EXT_DEVICE_MAPPING.get(intDevice, TYPE_UNKNOWN); } private static final SparseIntArray INT_TO_EXT_DEVICE_MAPPING; Loading @@ -163,43 +164,43 @@ public class AudioDevice { static { INT_TO_EXT_DEVICE_MAPPING = new SparseIntArray(); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_EARPIECE, DEVICE_TYPE_BUILTIN_EARPIECE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPEAKER, DEVICE_TYPE_BUILTIN_SPEAKER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADSET, DEVICE_TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE, DEVICE_TYPE_WIRED_HEADPHONES); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_CARKIT, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI, DEVICE_TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_ACCESSORY, DEVICE_TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_DEVICE, DEVICE_TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_TELEPHONY_TX, DEVICE_TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_LINE, DEVICE_TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI_ARC, DEVICE_TYPE_HDMI_ARC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPDIF, DEVICE_TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_FM, DEVICE_TYPE_FM); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_AUX_LINE, DEVICE_TYPE_AUX_LINE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BUILTIN_MIC, DEVICE_TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_SCO_HEADSET, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_WIRED_HEADSET, DEVICE_TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_HDMI, DEVICE_TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TELEPHONY_RX, DEVICE_TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BACK_MIC, DEVICE_TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_DGTL_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_ACCESSORY, DEVICE_TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_DEVICE, DEVICE_TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_FM_TUNER, DEVICE_TYPE_FM_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TV_TUNER, DEVICE_TYPE_TV_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_LINE, DEVICE_TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_SPDIF, DEVICE_TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_EARPIECE, TYPE_BUILTIN_EARPIECE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPEAKER, TYPE_BUILTIN_SPEAKER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADSET, TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE, TYPE_WIRED_HEADPHONES); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_CARKIT, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI, TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_ACCESSORY, TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_DEVICE, TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_TELEPHONY_TX, TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_LINE, TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI_ARC, TYPE_HDMI_ARC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPDIF, TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_FM, TYPE_FM); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_AUX_LINE, TYPE_AUX_LINE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BUILTIN_MIC, TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_SCO_HEADSET, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_WIRED_HEADSET, TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_HDMI, TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TELEPHONY_RX, TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BACK_MIC, TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_DGTL_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_ACCESSORY, TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_DEVICE, TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_FM_TUNER, TYPE_FM_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TV_TUNER, TYPE_TV_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_LINE, TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_SPDIF, TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, TYPE_BLUETOOTH_A2DP); // not covered here, legacy //AudioSystem.DEVICE_OUT_REMOTE_SUBMIX Loading @@ -207,25 +208,25 @@ public class AudioDevice { // privileges mapping to output device EXT_TO_INT_DEVICE_MAPPING = new SparseIntArray(); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BUILTIN_EARPIECE, AudioSystem.DEVICE_OUT_EARPIECE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BUILTIN_SPEAKER, AudioSystem.DEVICE_OUT_SPEAKER); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_WIRED_HEADSET, AudioSystem.DEVICE_OUT_WIRED_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_WIRED_HEADPHONES, AudioSystem.DEVICE_OUT_WIRED_HEADPHONE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_LINE_ANALOG, AudioSystem.DEVICE_OUT_LINE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_LINE_DIGITAL, AudioSystem.DEVICE_OUT_SPDIF); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BLUETOOTH_SCO, AudioSystem.DEVICE_OUT_BLUETOOTH_SCO); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BLUETOOTH_A2DP, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_HDMI, AudioSystem.DEVICE_OUT_HDMI); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_HDMI_ARC, AudioSystem.DEVICE_OUT_HDMI_ARC); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_USB_DEVICE, AudioSystem.DEVICE_OUT_USB_DEVICE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_USB_ACCESSORY, AudioSystem.DEVICE_OUT_USB_ACCESSORY); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_DOCK, AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_FM, AudioSystem.DEVICE_OUT_FM); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BUILTIN_MIC, AudioSystem.DEVICE_IN_BUILTIN_MIC); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_FM_TUNER, AudioSystem.DEVICE_IN_FM_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_TV_TUNER, AudioSystem.DEVICE_IN_TV_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_TELEPHONY, AudioSystem.DEVICE_OUT_TELEPHONY_TX); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_AUX_LINE, AudioSystem.DEVICE_OUT_AUX_LINE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BUILTIN_EARPIECE, AudioSystem.DEVICE_OUT_EARPIECE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BUILTIN_SPEAKER, AudioSystem.DEVICE_OUT_SPEAKER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_WIRED_HEADSET, AudioSystem.DEVICE_OUT_WIRED_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_WIRED_HEADPHONES, AudioSystem.DEVICE_OUT_WIRED_HEADPHONE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_LINE_ANALOG, AudioSystem.DEVICE_OUT_LINE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_LINE_DIGITAL, AudioSystem.DEVICE_OUT_SPDIF); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLUETOOTH_SCO, AudioSystem.DEVICE_OUT_BLUETOOTH_SCO); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLUETOOTH_A2DP, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_HDMI, AudioSystem.DEVICE_OUT_HDMI); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_HDMI_ARC, AudioSystem.DEVICE_OUT_HDMI_ARC); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_DEVICE, AudioSystem.DEVICE_OUT_USB_DEVICE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_ACCESSORY, AudioSystem.DEVICE_OUT_USB_ACCESSORY); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_DOCK, AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_FM, AudioSystem.DEVICE_OUT_FM); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BUILTIN_MIC, AudioSystem.DEVICE_IN_BUILTIN_MIC); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_FM_TUNER, AudioSystem.DEVICE_IN_FM_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_TV_TUNER, AudioSystem.DEVICE_IN_TV_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_TELEPHONY, AudioSystem.DEVICE_OUT_TELEPHONY_TX); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_AUX_LINE, AudioSystem.DEVICE_OUT_AUX_LINE); } } media/java/android/media/audiofx/Virtualizer.java +13 −16 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ public class Virtualizer extends AudioEffect { * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ private boolean getAnglesInt(int inputChannelMask, int deviceType, int[] angles) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading Loading @@ -254,7 +255,6 @@ public class Virtualizer extends AudioEffect { * built-in speakers. Use this method to query the virtualizer implementation capabilities. * @param inputChannelMask the channel mask of the content to virtualize. * @param deviceType the device type for which virtualization processing is to be performed. * Valid values are the device types defined in {@link AudioDevice}. * @return true if the combination of channel mask and output device type is supported, false * otherwise. * <br>An indication that a certain channel mask is not supported doesn't necessarily mean Loading @@ -267,6 +267,7 @@ public class Virtualizer extends AudioEffect { * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public boolean canVirtualize(int inputChannelMask, int deviceType) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -283,7 +284,6 @@ public class Virtualizer extends AudioEffect { * <br>Note that in some virtualizer implementations, the angles may be strength-dependent. * @param inputChannelMask the channel mask of the content to virtualize. * @param deviceType the device type for which virtualization processing is to be performed. * Valid values are the device types defined in {@link AudioDevice}. * @param angles a non-null array whose length is 3 times the number of channels in the channel * mask. * If the method indicates the configuration is supported, the array will contain upon return Loading @@ -302,6 +302,7 @@ public class Virtualizer extends AudioEffect { * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public boolean getSpeakerAngles(int inputChannelMask, int deviceType, int[] angles) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -316,14 +317,13 @@ public class Virtualizer extends AudioEffect { /** * Forces the virtualizer effect to use the processing mode used for the given device type. * The effect must be enabled for the forced mode to be applied. * @param deviceType one of the device types defined in {@link AudioDevice}. * Use {@link AudioDevice#DEVICE_TYPE_UNKNOWN} to return to the non-forced mode. * @param deviceType one of the device types defined. * @return true if the processing mode for the device type is supported, and it is successfully * set, or forcing was successfully disabled with {@link AudioDevice#DEVICE_TYPE_UNKNOWN}, * false otherwise. * set, or forcing was successfully disabled, false otherwise. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public boolean forceVirtualizationMode(int deviceType) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -350,21 +350,18 @@ public class Virtualizer extends AudioEffect { /** * Return the device type which reflects the virtualization mode being used, if any. * @return a device type (as defined in {@link AudioDevice}) which reflects the virtualization * mode being used. * If virtualization is not active, the device type will be * {@link AudioDevice#DEVICE_TYPE_UNKNOWN}. Virtualization may not be active either because * @return a device type which reflects the virtualization mode being used. * If virtualization is not active, the device type will be TBD * Virtualization may not be active either because * the effect is not enabled or because the current output device is not compatible with * this virtualization implementation. * <p>Note that the return value may differ from a device type successfully set with * {@link #forceVirtualizationMode(int)} as the implementation * may use a single mode for multiple devices. An example of this is with * {@link AudioDevice#DEVICE_TYPE_WIRED_HEADSET} that would typically be handled * like {@link AudioDevice#DEVICE_TYPE_WIRED_HEADPHONES} from a virtualization * standpoint. * may use a single mode for multiple devices. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public int getVirtualizationMode() throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -373,7 +370,7 @@ public class Virtualizer extends AudioEffect { if (status >= 0) { return AudioDevice.convertInternalDeviceToDeviceType(value[0]); } else if (status == AudioEffect.ERROR_BAD_VALUE) { return AudioDevice.DEVICE_TYPE_UNKNOWN; return AudioDevice.TYPE_UNKNOWN; } else { // something wrong may have happened checkStatus(status); Loading @@ -381,7 +378,7 @@ public class Virtualizer extends AudioEffect { // unexpected virtualizer behavior Log.e(TAG, "unexpected status code " + status + " after getParameter(PARAM_VIRTUALIZATION_MODE)"); return AudioDevice.DEVICE_TYPE_UNKNOWN; return AudioDevice.TYPE_UNKNOWN; } /** Loading Loading
api/current.txt +0 −23 Original line number Diff line number Diff line Loading @@ -14075,29 +14075,6 @@ package android.media { method public android.media.AudioAttributes.Builder setUsage(int); } public class AudioDevice { field public static final int DEVICE_TYPE_AUX_LINE = 19; // 0x13 field public static final int DEVICE_TYPE_BLUETOOTH_A2DP = 8; // 0x8 field public static final int DEVICE_TYPE_BLUETOOTH_SCO = 7; // 0x7 field public static final int DEVICE_TYPE_BUILTIN_EARPIECE = 1; // 0x1 field public static final int DEVICE_TYPE_BUILTIN_MIC = 15; // 0xf field public static final int DEVICE_TYPE_BUILTIN_SPEAKER = 2; // 0x2 field public static final int DEVICE_TYPE_DOCK = 13; // 0xd field public static final int DEVICE_TYPE_FM = 14; // 0xe field public static final int DEVICE_TYPE_FM_TUNER = 16; // 0x10 field public static final int DEVICE_TYPE_HDMI = 9; // 0x9 field public static final int DEVICE_TYPE_HDMI_ARC = 10; // 0xa field public static final int DEVICE_TYPE_LINE_ANALOG = 5; // 0x5 field public static final int DEVICE_TYPE_LINE_DIGITAL = 6; // 0x6 field public static final int DEVICE_TYPE_TELEPHONY = 18; // 0x12 field public static final int DEVICE_TYPE_TV_TUNER = 17; // 0x11 field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0 field public static final int DEVICE_TYPE_USB_ACCESSORY = 12; // 0xc field public static final int DEVICE_TYPE_USB_DEVICE = 11; // 0xb field public static final int DEVICE_TYPE_WIRED_HEADPHONES = 4; // 0x4 field public static final int DEVICE_TYPE_WIRED_HEADSET = 3; // 0x3 } public class AudioFormat { method public int getChannelMask(); method public int getEncoding();
media/java/android/media/AudioDevice.java +79 −78 Original line number Diff line number Diff line Loading @@ -20,90 +20,91 @@ import android.util.SparseIntArray; /** * Class to provide information about the audio devices. * @hide */ public class AudioDevice { /** * A device type associated with an unknown or uninitialized device. */ public static final int DEVICE_TYPE_UNKNOWN = 0; public static final int TYPE_UNKNOWN = 0; /** * A device type describing the attached earphone speaker. */ public static final int DEVICE_TYPE_BUILTIN_EARPIECE = 1; public static final int TYPE_BUILTIN_EARPIECE = 1; /** * A device type describing the speaker system (i.e. a mono speaker or stereo speakers) built * in a device. */ public static final int DEVICE_TYPE_BUILTIN_SPEAKER = 2; public static final int TYPE_BUILTIN_SPEAKER = 2; /** * A device type describing a headset, which is the combination of a headphones and microphone. */ public static final int DEVICE_TYPE_WIRED_HEADSET = 3; public static final int TYPE_WIRED_HEADSET = 3; /** * A device type describing a pair of wired headphones . */ public static final int DEVICE_TYPE_WIRED_HEADPHONES = 4; public static final int TYPE_WIRED_HEADPHONES = 4; /** * A device type describing an analog line-level connection. */ public static final int DEVICE_TYPE_LINE_ANALOG = 5; public static final int TYPE_LINE_ANALOG = 5; /** * A device type describing a digital line connection (e.g. SPDIF). */ public static final int DEVICE_TYPE_LINE_DIGITAL = 6; public static final int TYPE_LINE_DIGITAL = 6; /** * A device type describing a Bluetooth device typically used for telephony . */ public static final int DEVICE_TYPE_BLUETOOTH_SCO = 7; public static final int TYPE_BLUETOOTH_SCO = 7; /** * A device type describing a Bluetooth device supporting the A2DP profile. */ public static final int DEVICE_TYPE_BLUETOOTH_A2DP = 8; public static final int TYPE_BLUETOOTH_A2DP = 8; /** * A device type describing an HDMI connection . */ public static final int DEVICE_TYPE_HDMI = 9; public static final int TYPE_HDMI = 9; /** * A device type describing the Audio Return Channel of an HDMI connection. */ public static final int DEVICE_TYPE_HDMI_ARC = 10; public static final int TYPE_HDMI_ARC = 10; /** * A device type describing a USB audio device. */ public static final int DEVICE_TYPE_USB_DEVICE = 11; public static final int TYPE_USB_DEVICE = 11; /** * A device type describing a USB audio device in accessory mode. */ public static final int DEVICE_TYPE_USB_ACCESSORY = 12; public static final int TYPE_USB_ACCESSORY = 12; /** * A device type describing the audio device associated with a dock. */ public static final int DEVICE_TYPE_DOCK = 13; public static final int TYPE_DOCK = 13; /** * A device type associated with the transmission of audio signals over FM. */ public static final int DEVICE_TYPE_FM = 14; public static final int TYPE_FM = 14; /** * A device type describing the microphone(s) built in a device. */ public static final int DEVICE_TYPE_BUILTIN_MIC = 15; public static final int TYPE_BUILTIN_MIC = 15; /** * A device type for accessing the audio content transmitted over FM. */ public static final int DEVICE_TYPE_FM_TUNER = 16; public static final int TYPE_FM_TUNER = 16; /** * A device type for accessing the audio content transmitted over the TV tuner system. */ public static final int DEVICE_TYPE_TV_TUNER = 17; public static final int TYPE_TV_TUNER = 17; /** * A device type describing the transmission of audio signals over the telephony network. */ public static final int DEVICE_TYPE_TELEPHONY = 18; public static final int TYPE_TELEPHONY = 18; /** * A device type describing the auxiliary line-level connectors. */ public static final int DEVICE_TYPE_AUX_LINE = 19; public static final int TYPE_AUX_LINE = 19; AudioDevicePortConfig mConfig; Loading Loading @@ -135,7 +136,7 @@ public class AudioDevice { * @return */ public int getDeviceType() { return INT_TO_EXT_DEVICE_MAPPING.get(mConfig.port().type(), DEVICE_TYPE_UNKNOWN); return INT_TO_EXT_DEVICE_MAPPING.get(mConfig.port().type(), TYPE_UNKNOWN); } /** Loading @@ -154,7 +155,7 @@ public class AudioDevice { /** @hide */ public static int convertInternalDeviceToDeviceType(int intDevice) { return INT_TO_EXT_DEVICE_MAPPING.get(intDevice, DEVICE_TYPE_UNKNOWN); return INT_TO_EXT_DEVICE_MAPPING.get(intDevice, TYPE_UNKNOWN); } private static final SparseIntArray INT_TO_EXT_DEVICE_MAPPING; Loading @@ -163,43 +164,43 @@ public class AudioDevice { static { INT_TO_EXT_DEVICE_MAPPING = new SparseIntArray(); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_EARPIECE, DEVICE_TYPE_BUILTIN_EARPIECE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPEAKER, DEVICE_TYPE_BUILTIN_SPEAKER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADSET, DEVICE_TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE, DEVICE_TYPE_WIRED_HEADPHONES); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_CARKIT, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI, DEVICE_TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_ACCESSORY, DEVICE_TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_DEVICE, DEVICE_TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_TELEPHONY_TX, DEVICE_TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_LINE, DEVICE_TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI_ARC, DEVICE_TYPE_HDMI_ARC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPDIF, DEVICE_TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_FM, DEVICE_TYPE_FM); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_AUX_LINE, DEVICE_TYPE_AUX_LINE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BUILTIN_MIC, DEVICE_TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_SCO_HEADSET, DEVICE_TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_WIRED_HEADSET, DEVICE_TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_HDMI, DEVICE_TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TELEPHONY_RX, DEVICE_TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BACK_MIC, DEVICE_TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_DGTL_DOCK_HEADSET, DEVICE_TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_ACCESSORY, DEVICE_TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_DEVICE, DEVICE_TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_FM_TUNER, DEVICE_TYPE_FM_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TV_TUNER, DEVICE_TYPE_TV_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_LINE, DEVICE_TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_SPDIF, DEVICE_TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, DEVICE_TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_EARPIECE, TYPE_BUILTIN_EARPIECE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPEAKER, TYPE_BUILTIN_SPEAKER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADSET, TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_WIRED_HEADPHONE, TYPE_WIRED_HEADPHONES); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_CARKIT, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, TYPE_BLUETOOTH_A2DP); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI, TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_ACCESSORY, TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_USB_DEVICE, TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_TELEPHONY_TX, TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_LINE, TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_HDMI_ARC, TYPE_HDMI_ARC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_SPDIF, TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_FM, TYPE_FM); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_AUX_LINE, TYPE_AUX_LINE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BUILTIN_MIC, TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_SCO_HEADSET, TYPE_BLUETOOTH_SCO); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_WIRED_HEADSET, TYPE_WIRED_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_HDMI, TYPE_HDMI); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TELEPHONY_RX, TYPE_TELEPHONY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BACK_MIC, TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_ANLG_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_DGTL_DOCK_HEADSET, TYPE_DOCK); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_ACCESSORY, TYPE_USB_ACCESSORY); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_USB_DEVICE, TYPE_USB_DEVICE); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_FM_TUNER, TYPE_FM_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_TV_TUNER, TYPE_TV_TUNER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_LINE, TYPE_LINE_ANALOG); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_SPDIF, TYPE_LINE_DIGITAL); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_A2DP, TYPE_BLUETOOTH_A2DP); // not covered here, legacy //AudioSystem.DEVICE_OUT_REMOTE_SUBMIX Loading @@ -207,25 +208,25 @@ public class AudioDevice { // privileges mapping to output device EXT_TO_INT_DEVICE_MAPPING = new SparseIntArray(); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BUILTIN_EARPIECE, AudioSystem.DEVICE_OUT_EARPIECE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BUILTIN_SPEAKER, AudioSystem.DEVICE_OUT_SPEAKER); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_WIRED_HEADSET, AudioSystem.DEVICE_OUT_WIRED_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_WIRED_HEADPHONES, AudioSystem.DEVICE_OUT_WIRED_HEADPHONE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_LINE_ANALOG, AudioSystem.DEVICE_OUT_LINE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_LINE_DIGITAL, AudioSystem.DEVICE_OUT_SPDIF); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BLUETOOTH_SCO, AudioSystem.DEVICE_OUT_BLUETOOTH_SCO); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BLUETOOTH_A2DP, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_HDMI, AudioSystem.DEVICE_OUT_HDMI); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_HDMI_ARC, AudioSystem.DEVICE_OUT_HDMI_ARC); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_USB_DEVICE, AudioSystem.DEVICE_OUT_USB_DEVICE); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_USB_ACCESSORY, AudioSystem.DEVICE_OUT_USB_ACCESSORY); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_DOCK, AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_FM, AudioSystem.DEVICE_OUT_FM); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_BUILTIN_MIC, AudioSystem.DEVICE_IN_BUILTIN_MIC); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_FM_TUNER, AudioSystem.DEVICE_IN_FM_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_TV_TUNER, AudioSystem.DEVICE_IN_TV_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_TELEPHONY, AudioSystem.DEVICE_OUT_TELEPHONY_TX); EXT_TO_INT_DEVICE_MAPPING.put(DEVICE_TYPE_AUX_LINE, AudioSystem.DEVICE_OUT_AUX_LINE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BUILTIN_EARPIECE, AudioSystem.DEVICE_OUT_EARPIECE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BUILTIN_SPEAKER, AudioSystem.DEVICE_OUT_SPEAKER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_WIRED_HEADSET, AudioSystem.DEVICE_OUT_WIRED_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_WIRED_HEADPHONES, AudioSystem.DEVICE_OUT_WIRED_HEADPHONE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_LINE_ANALOG, AudioSystem.DEVICE_OUT_LINE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_LINE_DIGITAL, AudioSystem.DEVICE_OUT_SPDIF); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLUETOOTH_SCO, AudioSystem.DEVICE_OUT_BLUETOOTH_SCO); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLUETOOTH_A2DP, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_HDMI, AudioSystem.DEVICE_OUT_HDMI); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_HDMI_ARC, AudioSystem.DEVICE_OUT_HDMI_ARC); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_DEVICE, AudioSystem.DEVICE_OUT_USB_DEVICE); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_USB_ACCESSORY, AudioSystem.DEVICE_OUT_USB_ACCESSORY); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_DOCK, AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_FM, AudioSystem.DEVICE_OUT_FM); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BUILTIN_MIC, AudioSystem.DEVICE_IN_BUILTIN_MIC); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_FM_TUNER, AudioSystem.DEVICE_IN_FM_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_TV_TUNER, AudioSystem.DEVICE_IN_TV_TUNER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_TELEPHONY, AudioSystem.DEVICE_OUT_TELEPHONY_TX); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_AUX_LINE, AudioSystem.DEVICE_OUT_AUX_LINE); } }
media/java/android/media/audiofx/Virtualizer.java +13 −16 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ public class Virtualizer extends AudioEffect { * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ private boolean getAnglesInt(int inputChannelMask, int deviceType, int[] angles) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading Loading @@ -254,7 +255,6 @@ public class Virtualizer extends AudioEffect { * built-in speakers. Use this method to query the virtualizer implementation capabilities. * @param inputChannelMask the channel mask of the content to virtualize. * @param deviceType the device type for which virtualization processing is to be performed. * Valid values are the device types defined in {@link AudioDevice}. * @return true if the combination of channel mask and output device type is supported, false * otherwise. * <br>An indication that a certain channel mask is not supported doesn't necessarily mean Loading @@ -267,6 +267,7 @@ public class Virtualizer extends AudioEffect { * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public boolean canVirtualize(int inputChannelMask, int deviceType) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -283,7 +284,6 @@ public class Virtualizer extends AudioEffect { * <br>Note that in some virtualizer implementations, the angles may be strength-dependent. * @param inputChannelMask the channel mask of the content to virtualize. * @param deviceType the device type for which virtualization processing is to be performed. * Valid values are the device types defined in {@link AudioDevice}. * @param angles a non-null array whose length is 3 times the number of channels in the channel * mask. * If the method indicates the configuration is supported, the array will contain upon return Loading @@ -302,6 +302,7 @@ public class Virtualizer extends AudioEffect { * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public boolean getSpeakerAngles(int inputChannelMask, int deviceType, int[] angles) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -316,14 +317,13 @@ public class Virtualizer extends AudioEffect { /** * Forces the virtualizer effect to use the processing mode used for the given device type. * The effect must be enabled for the forced mode to be applied. * @param deviceType one of the device types defined in {@link AudioDevice}. * Use {@link AudioDevice#DEVICE_TYPE_UNKNOWN} to return to the non-forced mode. * @param deviceType one of the device types defined. * @return true if the processing mode for the device type is supported, and it is successfully * set, or forcing was successfully disabled with {@link AudioDevice#DEVICE_TYPE_UNKNOWN}, * false otherwise. * set, or forcing was successfully disabled, false otherwise. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public boolean forceVirtualizationMode(int deviceType) throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -350,21 +350,18 @@ public class Virtualizer extends AudioEffect { /** * Return the device type which reflects the virtualization mode being used, if any. * @return a device type (as defined in {@link AudioDevice}) which reflects the virtualization * mode being used. * If virtualization is not active, the device type will be * {@link AudioDevice#DEVICE_TYPE_UNKNOWN}. Virtualization may not be active either because * @return a device type which reflects the virtualization mode being used. * If virtualization is not active, the device type will be TBD * Virtualization may not be active either because * the effect is not enabled or because the current output device is not compatible with * this virtualization implementation. * <p>Note that the return value may differ from a device type successfully set with * {@link #forceVirtualizationMode(int)} as the implementation * may use a single mode for multiple devices. An example of this is with * {@link AudioDevice#DEVICE_TYPE_WIRED_HEADSET} that would typically be handled * like {@link AudioDevice#DEVICE_TYPE_WIRED_HEADPHONES} from a virtualization * standpoint. * may use a single mode for multiple devices. * @throws IllegalStateException * @throws IllegalArgumentException * @throws UnsupportedOperationException * FIXME: replace deviceType by virtualization mode */ public int getVirtualizationMode() throws IllegalStateException, IllegalArgumentException, UnsupportedOperationException { Loading @@ -373,7 +370,7 @@ public class Virtualizer extends AudioEffect { if (status >= 0) { return AudioDevice.convertInternalDeviceToDeviceType(value[0]); } else if (status == AudioEffect.ERROR_BAD_VALUE) { return AudioDevice.DEVICE_TYPE_UNKNOWN; return AudioDevice.TYPE_UNKNOWN; } else { // something wrong may have happened checkStatus(status); Loading @@ -381,7 +378,7 @@ public class Virtualizer extends AudioEffect { // unexpected virtualizer behavior Log.e(TAG, "unexpected status code " + status + " after getParameter(PARAM_VIRTUALIZATION_MODE)"); return AudioDevice.DEVICE_TYPE_UNKNOWN; return AudioDevice.TYPE_UNKNOWN; } /** Loading