# DefaultSubtitleParserFactory

Artifact: [androidx.media3:media3-extractor](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/extractor/text/DefaultSubtitleParserFactory.java+class:androidx.media3.extractor.text.DefaultSubtitleParserFactory)

*** ** * ** ***


```
@UnstableApi
class DefaultSubtitleParserFactory : SubtitleParser.Factory
```

<br />

*** ** * ** ***

A factory for `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` instances.

The formats supported by this factory are:

- SSA/ASS (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/ssa/SsaParser`)
- WebVTT (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/webvtt/WebvttParser`)
- WebVTT (MP4) (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/webvtt/Mp4WebvttParser`)
- SubRip (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/subrip/SubripParser`)
- TX3G (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/tx3g/Tx3gParser`)
- PGS (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/pgs/PgsParser`)
- DVB (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/dvb/DvbParser`)
- TTML (`https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/ttml/TtmlParser`)

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/DefaultSubtitleParserFactory#DefaultSubtitleParserFactory()()` Creates an instance. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/DefaultSubtitleParserFactory#DefaultSubtitleParserFactory(androidx.media3.extractor.text.CharsetDetector)(charsetDetector: https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/CharsetDetector?)` Creates an instance that passes `charsetDetector` to delegate factories (where relevant). |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser!` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/DefaultSubtitleParserFactory#create(androidx.media3.common.Format)(format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!)` Creates a `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/Format`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/Format.CueReplacementBehavior https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/DefaultSubtitleParserFactory#getCueReplacementBehavior(androidx.media3.common.Format)(format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!)` Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/Format.CueReplacementBehavior` of the `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` implementation that handles `format`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/DefaultSubtitleParserFactory#supportsFormat(androidx.media3.common.Format)(format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!)` Returns whether the factory is able to instantiate a `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/Format`. |

### Inherited Constants

From [androidx.media3.extractor.text.SubtitleParser.Factory](https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory) `const https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory!` `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory#UNSUPPORTED()`

A subtitle parser factory that supports no formats.

## Public constructors

### DefaultSubtitleParserFactory

```
DefaultSubtitleParserFactory()
```

Creates an instance.

### DefaultSubtitleParserFactory

```
DefaultSubtitleParserFactory(charsetDetector: CharsetDetector?)
```

Creates an instance that passes `charsetDetector` to delegate factories (where relevant).

| Parameters |
|---|---|
| `charsetDetector: https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/CharsetDetector?` | The detector to use, or `null`. |

## Public functions

### create

```
fun create(format: Format!): SubtitleParser!
```

Creates a `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/Format`.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser!` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` instance. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | if `format` is `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory#supportsFormat(androidx.media3.common.Format)` by this factory. |

### getCueReplacementBehavior

```
@Format.CueReplacementBehavior
fun getCueReplacementBehavior(format: Format!): Int
```

Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/Format.CueReplacementBehavior` of the `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` implementation that handles `format`.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The replacement behavior. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | if `format` is `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser.Factory#supportsFormat(androidx.media3.common.Format)` by this factory. |

### supportsFormat

```
fun supportsFormat(format: Format!): Boolean
```

Returns whether the factory is able to instantiate a `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser` for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/Format`.

| Parameters |
|---|---|
| `format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/Format`. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether the factory can instantiate a suitable `https://developer.android.com/reference/kotlin/androidx/media3/extractor/text/SubtitleParser`. |