# WebvttCueParser

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/webvtt/WebvttCueParser.java+class:androidx.media3.extractor.text.webvtt.WebvttCueParser)

*** ** * ** ***


```
@UnstableApi
public final class WebvttCueParser
```

<br />

*** ** * ** ***

Parser for WebVTT cues. (https://w3c.github.io/webvtt/#cues)

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/util/regex/Pattern.html` | `https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCueParser#CUE_HEADER_PATTERN()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCueParser#WebvttCueParser()()` |

| ### Public methods |
|---|---|
| `static https://developer.android.com/reference/androidx/media3/common/text/Cue` | `@https://developer.android.com/reference/androidx/annotation/VisibleForTesting(otherwise = 3) https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCueParser#newCueForText(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence.html text)` Create a new `https://developer.android.com/reference/androidx/media3/common/text/Cue` containing `text` and with WebVTT default values. |
| `static @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCueInfo` | `https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCueParser#parseCue(androidx.media3.common.util.ParsableByteArray,java.util.List<androidx.media3.extractor.text.webvtt.WebvttCssStyle>)(https://developer.android.com/reference/androidx/media3/common/util/ParsableByteArray webvttData, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCssStyle> styles)` Parses the next valid WebVTT cue in a parsable array, including timestamps, settings and text. |

## Constants

### CUE_HEADER_PATTERN

```
public static final Pattern CUE_HEADER_PATTERN
```

## Public constructors

### WebvttCueParser

```
public WebvttCueParser()
```

## Public methods

### newCueForText

```
@VisibleForTesting(otherwise = 3)
public static Cue newCueForText(CharSequence text)
```

Create a new `https://developer.android.com/reference/androidx/media3/common/text/Cue` containing `text` and with WebVTT default values.

### parseCue

```
public static @Nullable WebvttCueInfo parseCue(ParsableByteArray webvttData, List<WebvttCssStyle> styles)
```

Parses the next valid WebVTT cue in a parsable array, including timestamps, settings and text.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/util/ParsableByteArray webvttData` | Parsable WebVTT file data. |
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCssStyle> styles` | List of styles defined by the CSS style blocks preceding the cues. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/extractor/text/webvtt/WebvttCueInfo` | The parsed cue info, or null if no valid cue was found. |