Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -12857,6 +12857,7 @@ package android.media { field public static final int CAMCORDER = 5; // 0x5 field public static final int DEFAULT = 0; // 0x0 field public static final int MIC = 1; // 0x1 field public static final int REMOTE_SUBMIX = 8; // 0x8 field public static final int VOICE_CALL = 4; // 0x4 field public static final int VOICE_COMMUNICATION = 7; // 0x7 field public static final int VOICE_DOWNLINK = 3; // 0x3 media/java/android/media/AudioManager.java +0 −13 Original line number Diff line number Diff line Loading @@ -1315,19 +1315,6 @@ public class AudioManager { } } /** * @hide * Signals whether remote submix audio rerouting is enabled. */ public void setRemoteSubmixOn(boolean on, int address) { IAudioService service = getService(); try { service.setRemoteSubmixOn(on, address); } catch (RemoteException e) { Log.e(TAG, "Dead object in setRemoteSubmixOn", e); } } /** * Sets audio routing to the wired headset on or off. * Loading media/java/android/media/AudioService.java +0 −25 Original line number Diff line number Diff line Loading @@ -150,7 +150,6 @@ public class AudioService extends IAudioService.Stub { private static final int MSG_PERSIST_MASTER_VOLUME_MUTE = 12; private static final int MSG_REPORT_NEW_ROUTES = 13; private static final int MSG_SET_FORCE_BT_A2DP_USE = 14; private static final int MSG_SET_RSX_CONNECTION_STATE = 15; // change remote submix connection private static final int MSG_CHECK_MUSIC_ACTIVE = 16; private static final int MSG_BROADCAST_AUDIO_BECOMING_NOISY = 17; private static final int MSG_CONFIGURE_SAFE_MEDIA_VOLUME = 18; Loading Loading @@ -2393,26 +2392,6 @@ public class AudioService extends IAudioService.Stub { } }; /** see AudioManager.setRemoteSubmixOn(boolean on) */ public void setRemoteSubmixOn(boolean on, int address) { sendMsg(mAudioHandler, MSG_SET_RSX_CONNECTION_STATE, SENDMSG_REPLACE /* replace with QUEUE when multiple addresses are supported */, on ? 1 : 0 /*arg1*/, address /*arg2*/, null/*obj*/, 0/*delay*/); } private void onSetRsxConnectionState(int available, int address) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_IN_REMOTE_SUBMIX, available == 1 ? AudioSystem.DEVICE_STATE_AVAILABLE : AudioSystem.DEVICE_STATE_UNAVAILABLE, String.valueOf(address) /*device_address*/); AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_REMOTE_SUBMIX, available == 1 ? AudioSystem.DEVICE_STATE_AVAILABLE : AudioSystem.DEVICE_STATE_UNAVAILABLE, String.valueOf(address) /*device_address*/); } private void onCheckMusicActive() { synchronized (mSafeMediaVolumeState) { if (mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_INACTIVE) { Loading Loading @@ -3600,10 +3579,6 @@ public class AudioService extends IAudioService.Stub { break; } case MSG_SET_RSX_CONNECTION_STATE: onSetRsxConnectionState(msg.arg1/*available*/, msg.arg2/*address*/); break; case MSG_CHECK_MUSIC_ACTIVE: onCheckMusicActive(); break; Loading media/java/android/media/IAudioService.aidl +0 −2 Original line number Diff line number Diff line Loading @@ -114,8 +114,6 @@ interface IAudioService { boolean isBluetoothA2dpOn(); oneway void setRemoteSubmixOn(boolean on, int address); int requestAudioFocus(int mainStreamType, int durationHint, IBinder cb, IAudioFocusDispatcher fd, String clientId, String callingPackageName); Loading media/java/android/media/MediaRecorder.java +22 −1 Original line number Diff line number Diff line Loading @@ -179,6 +179,27 @@ public class MediaRecorder * is applied. */ public static final int VOICE_COMMUNICATION = 7; /** * Audio source for a submix of audio streams to be presented remotely. * <p> * An application can use this audio source to capture a mix of audio streams * that should be transmitted to a remote receiver such as a Wifi display. * While recording is active, these audio streams are redirected to the remote * submix instead of being played on the device speaker or headset. * </p><p> * Certain streams are excluded from the remote submix, including * {@link AudioManager#STREAM_RING}, {@link AudioManager#STREAM_ALARM}, * and {@link AudioManager#STREAM_NOTIFICATION}. These streams will continue * to be presented locally as usual. * </p><p> * Capturing the remote submix audio requires the * {@link android.Manifest.permission#CAPTURE_AUDIO_OUTPUT} permission. * This permission is reserved for use by system components and is not available to * third-party applications. * </p> */ public static final int REMOTE_SUBMIX = 8; } /** Loading Loading @@ -294,7 +315,7 @@ public class MediaRecorder * @see android.media.MediaRecorder.AudioSource */ public static final int getAudioSourceMax() { return AudioSource.VOICE_COMMUNICATION; return AudioSource.REMOTE_SUBMIX; } /** Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -12857,6 +12857,7 @@ package android.media { field public static final int CAMCORDER = 5; // 0x5 field public static final int DEFAULT = 0; // 0x0 field public static final int MIC = 1; // 0x1 field public static final int REMOTE_SUBMIX = 8; // 0x8 field public static final int VOICE_CALL = 4; // 0x4 field public static final int VOICE_COMMUNICATION = 7; // 0x7 field public static final int VOICE_DOWNLINK = 3; // 0x3
media/java/android/media/AudioManager.java +0 −13 Original line number Diff line number Diff line Loading @@ -1315,19 +1315,6 @@ public class AudioManager { } } /** * @hide * Signals whether remote submix audio rerouting is enabled. */ public void setRemoteSubmixOn(boolean on, int address) { IAudioService service = getService(); try { service.setRemoteSubmixOn(on, address); } catch (RemoteException e) { Log.e(TAG, "Dead object in setRemoteSubmixOn", e); } } /** * Sets audio routing to the wired headset on or off. * Loading
media/java/android/media/AudioService.java +0 −25 Original line number Diff line number Diff line Loading @@ -150,7 +150,6 @@ public class AudioService extends IAudioService.Stub { private static final int MSG_PERSIST_MASTER_VOLUME_MUTE = 12; private static final int MSG_REPORT_NEW_ROUTES = 13; private static final int MSG_SET_FORCE_BT_A2DP_USE = 14; private static final int MSG_SET_RSX_CONNECTION_STATE = 15; // change remote submix connection private static final int MSG_CHECK_MUSIC_ACTIVE = 16; private static final int MSG_BROADCAST_AUDIO_BECOMING_NOISY = 17; private static final int MSG_CONFIGURE_SAFE_MEDIA_VOLUME = 18; Loading Loading @@ -2393,26 +2392,6 @@ public class AudioService extends IAudioService.Stub { } }; /** see AudioManager.setRemoteSubmixOn(boolean on) */ public void setRemoteSubmixOn(boolean on, int address) { sendMsg(mAudioHandler, MSG_SET_RSX_CONNECTION_STATE, SENDMSG_REPLACE /* replace with QUEUE when multiple addresses are supported */, on ? 1 : 0 /*arg1*/, address /*arg2*/, null/*obj*/, 0/*delay*/); } private void onSetRsxConnectionState(int available, int address) { AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_IN_REMOTE_SUBMIX, available == 1 ? AudioSystem.DEVICE_STATE_AVAILABLE : AudioSystem.DEVICE_STATE_UNAVAILABLE, String.valueOf(address) /*device_address*/); AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_REMOTE_SUBMIX, available == 1 ? AudioSystem.DEVICE_STATE_AVAILABLE : AudioSystem.DEVICE_STATE_UNAVAILABLE, String.valueOf(address) /*device_address*/); } private void onCheckMusicActive() { synchronized (mSafeMediaVolumeState) { if (mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_INACTIVE) { Loading Loading @@ -3600,10 +3579,6 @@ public class AudioService extends IAudioService.Stub { break; } case MSG_SET_RSX_CONNECTION_STATE: onSetRsxConnectionState(msg.arg1/*available*/, msg.arg2/*address*/); break; case MSG_CHECK_MUSIC_ACTIVE: onCheckMusicActive(); break; Loading
media/java/android/media/IAudioService.aidl +0 −2 Original line number Diff line number Diff line Loading @@ -114,8 +114,6 @@ interface IAudioService { boolean isBluetoothA2dpOn(); oneway void setRemoteSubmixOn(boolean on, int address); int requestAudioFocus(int mainStreamType, int durationHint, IBinder cb, IAudioFocusDispatcher fd, String clientId, String callingPackageName); Loading
media/java/android/media/MediaRecorder.java +22 −1 Original line number Diff line number Diff line Loading @@ -179,6 +179,27 @@ public class MediaRecorder * is applied. */ public static final int VOICE_COMMUNICATION = 7; /** * Audio source for a submix of audio streams to be presented remotely. * <p> * An application can use this audio source to capture a mix of audio streams * that should be transmitted to a remote receiver such as a Wifi display. * While recording is active, these audio streams are redirected to the remote * submix instead of being played on the device speaker or headset. * </p><p> * Certain streams are excluded from the remote submix, including * {@link AudioManager#STREAM_RING}, {@link AudioManager#STREAM_ALARM}, * and {@link AudioManager#STREAM_NOTIFICATION}. These streams will continue * to be presented locally as usual. * </p><p> * Capturing the remote submix audio requires the * {@link android.Manifest.permission#CAPTURE_AUDIO_OUTPUT} permission. * This permission is reserved for use by system components and is not available to * third-party applications. * </p> */ public static final int REMOTE_SUBMIX = 8; } /** Loading Loading @@ -294,7 +315,7 @@ public class MediaRecorder * @see android.media.MediaRecorder.AudioSource */ public static final int getAudioSourceMax() { return AudioSource.VOICE_COMMUNICATION; return AudioSource.REMOTE_SUBMIX; } /** Loading