<!--
{
  "availability" : [
    "tvOS: 13.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVKit",
  "identifier" : "/documentation/AVKit/AVPlayerViewControllerDelegate/playerViewController(_:skipToPreviousChannel:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AVKit"
    ],
    "preciseIdentifier" : "c:objc(pl)AVPlayerViewControllerDelegate(im)playerViewController:skipToPreviousChannel:"
  },
  "title" : "playerViewController(_:skipToPreviousChannel:)"
}
-->

# playerViewController(_:skipToPreviousChannel:)

Tells the delegate when the user wants to skip to the previous channel.

```
optional func playerViewController(_ playerViewController: AVPlayerViewController, skipToPreviousChannel completion: @escaping @Sendable (Bool) -> Void)
```

```
optional func playerViewControllerSkipToPreviousChannel(_ playerViewController: AVPlayerViewController) async -> Bool
```

## Parameters

`playerViewController`

The player view controller.

`completion`

A completion callback to invoke to dismiss the channel’s interstitial view.

## Discussion

Each call to this method should advance one channel, relative to the previous request, even if the prior request hasn’t yet completed. Adopt this method and replace the current player item with one that reflects the previous channel’s content, and call the completion block to dismiss the channel’s interstitial view.

> Important:
> Only live video streams support channel skipping. This feature isn’t supported for VOD streams or local media.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)