---
title: "outputCaptionProviderWithRandomAccess(for:validationDelegate:)"
framework: avfoundation
role: symbol
role_heading: Instance Method
path: "avfoundation/avassetreader/outputcaptionproviderwithrandomaccess(for:validationdelegate:)"
---

# outputCaptionProviderWithRandomAccess(for:validationDelegate:)

Attaches the output to the reader and returns a tuple with an output provider for reading caption groups, and an associated random access controller.

## Declaration

```swift
func outputCaptionProviderWithRandomAccess(for output: AVAssetReaderTrackOutput, validationDelegate: (any AVAssetReaderCaptionValidationHandling)? = nil) -> sending (AVAssetReaderOutput.Provider<AVCaptionGroup>, AVAssetReaderOutput.RandomAccessController)
```

## Parameters

- `output`: The output to be attached to the reader.

## Return Value

Return Value A tuple with an output provider for reading caption groups, and an associated random access controller.

## See Also

### Accessing output providers

- [outputProvider(for:)](avfoundation/avassetreader/outputprovider(for:).md)
- [outputProviderWithRandomAccess(for:)](avfoundation/avassetreader/outputproviderwithrandomaccess(for:).md)
- [outputCaptionProvider(for:validationDelegate:)](avfoundation/avassetreader/outputcaptionprovider(for:validationdelegate:).md)
- [outputMetadataProvider(for:)](avfoundation/avassetreader/outputmetadataprovider(for:).md)
- [outputMetadataProviderWithRandomAccess(for:)](avfoundation/avassetreader/outputmetadataproviderwithrandomaccess(for:).md)
