Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/android/media/metrics/MediaItemInfo#nestedclasses) \| [Constants](https://developer.android.com/reference/android/media/metrics/MediaItemInfo#constants) \| [Inherited Constants](https://developer.android.com/reference/android/media/metrics/MediaItemInfo#inhconstants) \| [Fields](https://developer.android.com/reference/android/media/metrics/MediaItemInfo#lfields) \| [Methods](https://developer.android.com/reference/android/media/metrics/MediaItemInfo#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/media/metrics/MediaItemInfo#inhmethods)

# MediaItemInfo

*** ** * ** ***

` public final class MediaItemInfo `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/os/Parcelable `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.metrics.MediaItemInfo |

<br />

*** ** * ** ***

Represents information about a piece of media (for example, an audio or video file).

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo.Builder` Builder for `https://developer.android.com/reference/android/media/metrics/MediaItemInfo`. |

| ### Constants ||
|---|---|
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_AUDIO` The media item includes audio data. |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_DEPTH` The media item includes depth (z-distance) information. |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_GAIN_MAP` The media item includes gain map information (for example, an Ultra HDR gain map). |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_GAPLESS` The media item includes gapless audio metadata. |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_HIGH_DYNAMIC_RANGE_VIDEO` The media item includes high dynamic range (HDR) video. |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_HIGH_FRAME_RATE` The media item includes high frame rate video data. |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_IMAGE` The media item includes image data. |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_METADATA` The media item includes static media container metadata (for example, capture frame rate or location information). |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_SPATIAL_AUDIO` The media item includes spatial audio data. |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_SPEED_SETTING_CUE_POINTS` The media item includes time-dependent speed information (for example, slow motion cue points). |
| `long` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_VIDEO` The media item includes video data. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_CAMERA` The media item came directly from camera capture. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_EDITING_SESSION` The media item was output by a previous editing session. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_GALLERY` The media item came from the device gallery. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_GENERATED` The media item was generated by another system. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_LOCAL_FILE` The media item is stored on the local device's file system. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_REMOTE_FILE` The media item is a remote file (for example, it's loaded from an HTTP server). |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_REMOTE_LIVE_STREAM` The media item is a remotely-served live stream. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_UNSPECIFIED` The media item's source is not known. |
| `int` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` Special value for numerical fields where the value was not specified. |

### Inherited constants

From interface `https://developer.android.com/reference/android/os/Parcelable` `int` `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR`

Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`

Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`".

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/media/metrics/MediaItemInfo>` | `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#CREATOR` <br /> |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` boolean` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Indicates whether some other object is "equal to" this one. |
| ` int` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getAudioChannelCount()() ` Returns the number of audio channels, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` long` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getAudioSampleCount()() ` Returns the number of audio frames in the item, after clipping (if applicable), or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` int` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getAudioSampleRateHz()() ` Returns the sample rate of audio, in Hertz, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` long` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getClipDurationMillis()() ` Returns the duration of the clip taken from the media item, in milliseconds, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getCodecNames()() ` Returns the [media codec names](https://developer.android.com/reference/android/media/MediaCodec#getName()) for codecs that were used as part of encoding/decoding this media item, or an empty list if not known or not applicable. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getContainerMimeType()() ` Returns the MIME type of the media container, or `null` if unspecified. |
| ` long` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getDataTypes()() ` Returns the data types that are present in the media item. |
| ` long` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getDurationMillis()() ` Returns the duration of the media item, in milliseconds, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getSampleMimeTypes()() ` Returns the MIME types of samples stored in the media container, or an empty list if not known. |
| ` int` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getSourceType()() ` Returns where the media item came from, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_UNSPECIFIED` if not specified. |
| ` int` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getVideoDataSpace()() ` Returns the [data space](https://developer.android.com/reference/android/hardware/DataSpace) for video, as a packed integer. |
| ` float` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getVideoFrameRate()() ` Returns the average video frame rate, in frames per second, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` long` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getVideoSampleCount()() ` Returns the number of video frames, aftrer clipping (if applicable), or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` https://developer.android.com/reference/android/util/Size` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#getVideoSize()() ` Returns the video size, in pixels, or a `https://developer.android.com/reference/android/util/Size` with width and height set to `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified. |
| ` int` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#hashCode()() ` Returns a hash code value for the object. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#toString()() ` Returns a string representation of the object. |
| ` void` | ` https://developer.android.com/reference/android/media/metrics/MediaItemInfo#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/android/os/Parcelable ` ` abstract int` ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() `

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
` abstract void` ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) `

Flatten this object in to a Parcel.

## Constants

### DATA_TYPE_AUDIO

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_AUDIO
```

The media item includes audio data.

<br />

Constant Value: 4 (0x0000000000000004)

### DATA_TYPE_DEPTH

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_DEPTH
```

The media item includes depth (z-distance) information.

<br />

Constant Value: 16 (0x0000000000000010)

### DATA_TYPE_GAIN_MAP

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_GAIN_MAP
```

The media item includes gain map information (for example, an Ultra HDR gain map).

<br />

Constant Value: 32 (0x0000000000000020)

### DATA_TYPE_GAPLESS

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_GAPLESS
```

The media item includes gapless audio metadata.

<br />

Constant Value: 256 (0x0000000000000100)

### DATA_TYPE_HIGH_DYNAMIC_RANGE_VIDEO

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_HIGH_DYNAMIC_RANGE_VIDEO
```

The media item includes high dynamic range (HDR) video.

<br />

Constant Value: 1024 (0x0000000000000400)

### DATA_TYPE_HIGH_FRAME_RATE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_HIGH_FRAME_RATE
```

The media item includes high frame rate video data.

<br />

Constant Value: 64 (0x0000000000000040)

### DATA_TYPE_IMAGE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_IMAGE
```

The media item includes image data.

<br />

Constant Value: 1 (0x0000000000000001)

### DATA_TYPE_METADATA

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_METADATA
```

The media item includes static media container metadata (for example, capture frame rate or location information).

<br />

Constant Value: 8 (0x0000000000000008)

### DATA_TYPE_SPATIAL_AUDIO

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_SPATIAL_AUDIO
```

The media item includes spatial audio data.

<br />

Constant Value: 512 (0x0000000000000200)

### DATA_TYPE_SPEED_SETTING_CUE_POINTS

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_SPEED_SETTING_CUE_POINTS
```

The media item includes time-dependent speed information (for example, slow motion cue points).

<br />

Constant Value: 128 (0x0000000000000080)

### DATA_TYPE_VIDEO

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final long DATA_TYPE_VIDEO
```

The media item includes video data.

<br />

Constant Value: 2 (0x0000000000000002)

### SOURCE_TYPE_CAMERA

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_CAMERA
```

The media item came directly from camera capture.

<br />

Constant Value: 2 (0x00000002)

### SOURCE_TYPE_EDITING_SESSION

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_EDITING_SESSION
```

The media item was output by a previous editing session.

<br />

Constant Value: 3 (0x00000003)

### SOURCE_TYPE_GALLERY

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_GALLERY
```

The media item came from the device gallery.

<br />

Constant Value: 1 (0x00000001)

### SOURCE_TYPE_GENERATED

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_GENERATED
```

The media item was generated by another system.

<br />

Constant Value: 7 (0x00000007)

### SOURCE_TYPE_LOCAL_FILE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_LOCAL_FILE
```

The media item is stored on the local device's file system.

<br />

Constant Value: 4 (0x00000004)

### SOURCE_TYPE_REMOTE_FILE

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_REMOTE_FILE
```

The media item is a remote file (for example, it's loaded from an HTTP server).

<br />

Constant Value: 5 (0x00000005)

### SOURCE_TYPE_REMOTE_LIVE_STREAM

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_REMOTE_LIVE_STREAM
```

The media item is a remotely-served live stream.

<br />

Constant Value: 6 (0x00000006)

### SOURCE_TYPE_UNSPECIFIED

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int SOURCE_TYPE_UNSPECIFIED
```

The media item's source is not known.

<br />

Constant Value: 0 (0x00000000)

### VALUE_UNSPECIFIED

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int VALUE_UNSPECIFIED
```

Special value for numerical fields where the value was not specified.

<br />

Constant Value: -1 (0xffffffff)

## Fields

### CREATOR

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<MediaItemInfo> CREATOR
```

<br />

<br />

## Public methods

### describeContents

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`, the return value of this method must include the `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### equals

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean equals (Object o)
```

Indicates whether some other object is "equal to" this one.

The `equals` method implements an equivalence relation on non-null object references:

- It is *reflexive*: for any non-null reference value `x`, `x.equals(x)` should return `true`.
- It is *symmetric*: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
- It is *transitive*: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
- It is *consistent*: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.
- For any non-null reference value `x`, `x.equals(null)` should return `false`.

An equivalence relation partitions the elements it operates on into *equivalence classes*; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

<br />

| Parameters ||
|---|---|
| `o` | `Object`: This value may be `null`. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> |

### getAudioChannelCount

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getAudioChannelCount ()
```

Returns the number of audio channels, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `int` | <br /> |

### getAudioSampleCount

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getAudioSampleCount ()
```

Returns the number of audio frames in the item, after clipping (if applicable), or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getAudioSampleRateHz

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getAudioSampleRateHz ()
```

Returns the sample rate of audio, in Hertz, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `int` | <br /> |

### getClipDurationMillis

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getClipDurationMillis ()
```

Returns the duration of the clip taken from the media item, in milliseconds, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getCodecNames

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public List<String> getCodecNames ()
```

Returns the [media codec names](https://developer.android.com/reference/android/media/MediaCodec#getName()) for codecs that were used as part of encoding/decoding this media item, or an empty list if not known or not applicable.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/java/lang/String>` | This value cannot be `null`. <br /> |

### getContainerMimeType

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getContainerMimeType ()
```

Returns the MIME type of the media container, or `null` if unspecified.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### getDataTypes

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getDataTypes ()
```

Returns the data types that are present in the media item.

<br />

| Returns ||
|---|---|
| `long` | Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_IMAGE` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_VIDEO` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_AUDIO` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_METADATA` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_DEPTH` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_GAIN_MAP` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_HIGH_FRAME_RATE` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_SPEED_SETTING_CUE_POINTS` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_GAPLESS` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_SPATIAL_AUDIO` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#DATA_TYPE_HIGH_DYNAMIC_RANGE_VIDEO` |

### getDurationMillis

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getDurationMillis ()
```

Returns the duration of the media item, in milliseconds, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getSampleMimeTypes

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public List<String> getSampleMimeTypes ()
```

Returns the MIME types of samples stored in the media container, or an empty list if not known.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/java/lang/String>` | This value cannot be `null`. <br /> |

### getSourceType

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getSourceType ()
```

Returns where the media item came from, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `int` | Value is one of the following: - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_UNSPECIFIED` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_GALLERY` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_CAMERA` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_EDITING_SESSION` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_LOCAL_FILE` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_REMOTE_FILE` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_REMOTE_LIVE_STREAM` - `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#SOURCE_TYPE_GENERATED` |

### getVideoDataSpace

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVideoDataSpace ()
```

Returns the [data space](https://developer.android.com/reference/android/hardware/DataSpace) for video, as a packed integer.

<br />

| Returns ||
|---|---|
| `int` | <br /> |

### getVideoFrameRate

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getVideoFrameRate ()
```

Returns the average video frame rate, in frames per second, or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `float` | <br /> |

### getVideoSampleCount

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getVideoSampleCount ()
```

Returns the number of video frames, aftrer clipping (if applicable), or `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `long` | <br /> |

### getVideoSize

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Size getVideoSize ()
```

Returns the video size, in pixels, or a `https://developer.android.com/reference/android/util/Size` with width and height set to `https://developer.android.com/reference/android/media/metrics/MediaItemInfo#VALUE_UNSPECIFIED` if not specified.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/util/Size` | This value cannot be `null`. <br /> |

### hashCode

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int hashCode ()
```

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by `https://developer.android.com/reference/java/util/HashMap`.

The general contract of `hashCode` is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
- It is *not* required that if two objects are unequal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### toString

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | This value cannot be `null`. <br /> |

### writeToParcel

Added in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |