diff --git a/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java b/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java
index cbcc0298d7..4ec2f5f9b4 100644
--- a/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java
+++ b/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java
@@ -44,9 +44,9 @@ import java.lang.reflect.Method;
public final class AudioAttributes implements Bundleable {
/**
- * The default audio attributes, where the content type is {@link C#CONTENT_TYPE_UNKNOWN}, usage
- * is {@link C#USAGE_MEDIA}, capture policy is {@link C#ALLOW_CAPTURE_BY_ALL} and no flags are
- * set.
+ * The default audio attributes, where the content type is {@link C#AUDIO_CONTENT_TYPE_UNKNOWN},
+ * usage is {@link C#USAGE_MEDIA}, capture policy is {@link C#ALLOW_CAPTURE_BY_ALL} and no flags
+ * are set.
*/
public static final AudioAttributes DEFAULT = new Builder().build();
@@ -62,11 +62,11 @@ public final class AudioAttributes implements Bundleable {
/**
* Creates a new builder for {@link AudioAttributes}.
*
- *
By default the content type is {@link C#CONTENT_TYPE_UNKNOWN}, usage is {@link
+ *
By default the content type is {@link C#AUDIO_CONTENT_TYPE_UNKNOWN}, usage is {@link
* C#USAGE_MEDIA}, capture policy is {@link C#ALLOW_CAPTURE_BY_ALL} and no flags are set.
*/
public Builder() {
- contentType = C.CONTENT_TYPE_UNKNOWN;
+ contentType = C.AUDIO_CONTENT_TYPE_UNKNOWN;
flags = 0;
usage = C.USAGE_MEDIA;
allowedCapturePolicy = C.ALLOW_CAPTURE_BY_ALL;
diff --git a/libraries/common/src/main/java/androidx/media3/common/C.java b/libraries/common/src/main/java/androidx/media3/common/C.java
index 14a0daa124..9bd445d94e 100644
--- a/libraries/common/src/main/java/androidx/media3/common/C.java
+++ b/libraries/common/src/main/java/androidx/media3/common/C.java
@@ -396,9 +396,15 @@ public final class C {
@UnstableApi public static final int STREAM_TYPE_DEFAULT = STREAM_TYPE_MUSIC;
/**
- * Content types for audio attributes. One of {@link #CONTENT_TYPE_MOVIE}, {@link
- * #CONTENT_TYPE_MUSIC}, {@link #CONTENT_TYPE_SONIFICATION}, {@link #CONTENT_TYPE_SPEECH} or
- * {@link #CONTENT_TYPE_UNKNOWN}.
+ * Content types for audio attributes. One of:
+ *
+ *
+ * - {@link #AUDIO_CONTENT_TYPE_MOVIE}
+ *
- {@link #AUDIO_CONTENT_TYPE_MUSIC}
+ *
- {@link #AUDIO_CONTENT_TYPE_SONIFICATION}
+ *
- {@link #AUDIO_CONTENT_TYPE_SPEECH}
+ *
- {@link #AUDIO_CONTENT_TYPE_UNKNOWN}
+ *
*/
// @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility
// with Kotlin usages from before TYPE_USE was added.
@@ -406,34 +412,46 @@ public final class C {
@Retention(RetentionPolicy.SOURCE)
@Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE})
@IntDef({
- CONTENT_TYPE_MOVIE,
- CONTENT_TYPE_MUSIC,
- CONTENT_TYPE_SONIFICATION,
- CONTENT_TYPE_SPEECH,
- CONTENT_TYPE_UNKNOWN
+ AUDIO_CONTENT_TYPE_MOVIE,
+ AUDIO_CONTENT_TYPE_MUSIC,
+ AUDIO_CONTENT_TYPE_SONIFICATION,
+ AUDIO_CONTENT_TYPE_SPEECH,
+ AUDIO_CONTENT_TYPE_UNKNOWN
})
public @interface AudioContentType {}
+ /** See {@link AudioAttributes#CONTENT_TYPE_MOVIE}. */
+ public static final int AUDIO_CONTENT_TYPE_MOVIE = AudioAttributes.CONTENT_TYPE_MOVIE;
/**
- * @see android.media.AudioAttributes#CONTENT_TYPE_MOVIE
+ * @deprecated Use {@link #AUDIO_CONTENT_TYPE_MOVIE} instead.
*/
- public static final int CONTENT_TYPE_MOVIE = android.media.AudioAttributes.CONTENT_TYPE_MOVIE;
+ @UnstableApi @Deprecated public static final int CONTENT_TYPE_MOVIE = AUDIO_CONTENT_TYPE_MOVIE;
+ /** See {@link AudioAttributes#CONTENT_TYPE_MUSIC}. */
+ public static final int AUDIO_CONTENT_TYPE_MUSIC = AudioAttributes.CONTENT_TYPE_MUSIC;
/**
- * @see android.media.AudioAttributes#CONTENT_TYPE_MUSIC
+ * @deprecated Use {@link #AUDIO_CONTENT_TYPE_MUSIC} instead.
*/
- public static final int CONTENT_TYPE_MUSIC = android.media.AudioAttributes.CONTENT_TYPE_MUSIC;
+ @UnstableApi @Deprecated public static final int CONTENT_TYPE_MUSIC = AUDIO_CONTENT_TYPE_MUSIC;
+ /** See {@link AudioAttributes#CONTENT_TYPE_SONIFICATION}. */
+ public static final int AUDIO_CONTENT_TYPE_SONIFICATION =
+ AudioAttributes.CONTENT_TYPE_SONIFICATION;
/**
- * @see android.media.AudioAttributes#CONTENT_TYPE_SONIFICATION
+ * @deprecated Use {@link #AUDIO_CONTENT_TYPE_SONIFICATION} instead.
*/
- public static final int CONTENT_TYPE_SONIFICATION =
- android.media.AudioAttributes.CONTENT_TYPE_SONIFICATION;
+ @UnstableApi @Deprecated
+ public static final int CONTENT_TYPE_SONIFICATION = AUDIO_CONTENT_TYPE_SONIFICATION;
+ /** See {@link AudioAttributes#CONTENT_TYPE_SPEECH}. */
+ public static final int AUDIO_CONTENT_TYPE_SPEECH = AudioAttributes.CONTENT_TYPE_SPEECH;
/**
- * @see android.media.AudioAttributes#CONTENT_TYPE_SPEECH
+ * @deprecated Use {@link #AUDIO_CONTENT_TYPE_SPEECH} instead.
*/
- public static final int CONTENT_TYPE_SPEECH = android.media.AudioAttributes.CONTENT_TYPE_SPEECH;
+ @UnstableApi @Deprecated public static final int CONTENT_TYPE_SPEECH = AUDIO_CONTENT_TYPE_SPEECH;
+ /** See {@link AudioAttributes#CONTENT_TYPE_UNKNOWN}. */
+ public static final int AUDIO_CONTENT_TYPE_UNKNOWN = AudioAttributes.CONTENT_TYPE_UNKNOWN;
/**
- * @see android.media.AudioAttributes#CONTENT_TYPE_UNKNOWN
+ * @deprecated Use {@link #AUDIO_CONTENT_TYPE_UNKNOWN} instead.
*/
- public static final int CONTENT_TYPE_UNKNOWN = android.media.AudioAttributes.CONTENT_TYPE_UNKNOWN;
+ @UnstableApi @Deprecated
+ public static final int CONTENT_TYPE_UNKNOWN = AUDIO_CONTENT_TYPE_UNKNOWN;
/**
* Flags for audio attributes. Possible flag value is {@link #FLAG_AUDIBILITY_ENFORCED}.
diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java
index 52229b7050..23ebbfcf23 100644
--- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java
+++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java
@@ -1707,12 +1707,12 @@ public final class Util {
case C.STREAM_TYPE_NOTIFICATION:
case C.STREAM_TYPE_RING:
case C.STREAM_TYPE_SYSTEM:
- return C.CONTENT_TYPE_SONIFICATION;
+ return C.AUDIO_CONTENT_TYPE_SONIFICATION;
case C.STREAM_TYPE_VOICE_CALL:
- return C.CONTENT_TYPE_SPEECH;
+ return C.AUDIO_CONTENT_TYPE_SPEECH;
case C.STREAM_TYPE_MUSIC:
default:
- return C.CONTENT_TYPE_MUSIC;
+ return C.AUDIO_CONTENT_TYPE_MUSIC;
}
}
diff --git a/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java b/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java
index 85378ed7a4..430f0e83bd 100644
--- a/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java
+++ b/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java
@@ -29,7 +29,7 @@ public class AudioAttributesTest {
public void roundTripViaBundle_yieldsEqualInstance() {
AudioAttributes audioAttributes =
new AudioAttributes.Builder()
- .setContentType(C.CONTENT_TYPE_SONIFICATION)
+ .setContentType(C.AUDIO_CONTENT_TYPE_SONIFICATION)
.setFlags(C.FLAG_AUDIBILITY_ENFORCED)
.setUsage(C.USAGE_ALARM)
.setAllowedCapturePolicy(C.ALLOW_CAPTURE_BY_SYSTEM)
diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java
index 0fcd77ca57..37544c196c 100644
--- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java
+++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java
@@ -298,7 +298,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
}
private boolean willPauseWhenDucked() {
- return audioAttributes != null && audioAttributes.contentType == C.CONTENT_TYPE_SPEECH;
+ return audioAttributes != null && audioAttributes.contentType == C.AUDIO_CONTENT_TYPE_SPEECH;
}
/**
@@ -369,7 +369,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
// Special usages:
case C.USAGE_ASSISTANCE_ACCESSIBILITY:
- if (audioAttributes.contentType == C.CONTENT_TYPE_SPEECH) {
+ if (audioAttributes.contentType == C.AUDIO_CONTENT_TYPE_SPEECH) {
// Voice shouldn't be interrupted by other playback.
return AUDIOFOCUS_GAIN_TRANSIENT;
}
diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java
index a90f5953ba..712663290d 100644
--- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java
+++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java
@@ -397,7 +397,7 @@ public class AudioFocusManagerTest {
AudioAttributes speechAudioAttributes =
new AudioAttributes.Builder()
.setUsage(C.USAGE_MEDIA)
- .setContentType(C.CONTENT_TYPE_SPEECH)
+ .setContentType(C.AUDIO_CONTENT_TYPE_SPEECH)
.build();
audioFocusManager.setAudioAttributes(speechAudioAttributes);
diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java
index cdc6011b3d..e67a984cbe 100644
--- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java
+++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java
@@ -1811,7 +1811,7 @@ public class MediaControllerListenerTest {
AudioAttributes testAttributes =
new AudioAttributes.Builder()
.setUsage(C.USAGE_MEDIA)
- .setContentType(C.CONTENT_TYPE_MOVIE)
+ .setContentType(C.AUDIO_CONTENT_TYPE_MOVIE)
.build();
MediaController controller = controllerTestRule.createController(remoteSession.getToken());
diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java
index 2aa990b79b..f24070f94f 100644
--- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java
+++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java
@@ -520,7 +520,7 @@ public class MediaControllerTest {
@Test
public void getAudioAttributes_returnsAudioAttributesOfPlayerInSession() throws Exception {
AudioAttributes testAttributes =
- new AudioAttributes.Builder().setContentType(C.CONTENT_TYPE_MUSIC).build();
+ new AudioAttributes.Builder().setContentType(C.AUDIO_CONTENT_TYPE_MUSIC).build();
Bundle playerConfig =
new RemoteMediaSession.MockPlayerConfigBuilder().setAudioAttributes(testAttributes).build();