---
title: "playerViewController(_:skipToPreviousChannel:)"
framework: avkit
role: symbol
role_heading: Instance Method
path: "avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:skiptopreviouschannel:)"
---

# playerViewController(_:skipToPreviousChannel:)

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

## Declaration

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

```swift
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

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.

## See Also

### Responding to Channel Changes

- [playerViewController(_:skipToNextChannel:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:skiptonextchannel:).md)
- [nextChannelInterstitialViewController(for:)](avkit/avplayerviewcontrollerdelegate/nextchannelinterstitialviewcontroller(for:).md)
- [previousChannelInterstitialViewController(for:)](avkit/avplayerviewcontrollerdelegate/previouschannelinterstitialviewcontroller(for:).md)
