---
title: CHHapticAdvancedPatternPlayer
framework: corehaptics
role: symbol
role_heading: Protocol
path: corehaptics/chhapticadvancedpatternplayer
---

# CHHapticAdvancedPatternPlayer

A protocol that defines an advanced pattern player capable of looping, seeking, pausing, and resuming haptic playback.

## Declaration

```swift
protocol CHHapticAdvancedPatternPlayer : CHHapticPatternPlayer
```

## Mentioned in

Playing a single-tap haptic pattern

## Overview

Overview Create instances of this pattern player through a CHHapticEngine object by calling a factory method such as makeAdvancedPlayer(with:). When you ask an advanced pattern player to play, pause, or resume a haptic pattern, the player submits those commands to the haptic engine on your behalf. Unlike CHHapticPatternPlayer, the advanced pattern player supports looping of haptic and audio patterns, by setting loopEnabled. The advanced pattern player can also call a block when the player finishes, through its completionHandler property.

## Topics

### Setting Playback Properties

- [loopEnabled](corehaptics/chhapticadvancedpatternplayer/loopenabled.md)
- [loopEnd](corehaptics/chhapticadvancedpatternplayer/loopend.md)
- [playbackRate](corehaptics/chhapticadvancedpatternplayer/playbackrate.md)
- [completionHandler](corehaptics/chhapticadvancedpatternplayer/completionhandler.md)
- [CHHapticAdvancedPatternPlayerCompletionHandler](corehaptics/chhapticadvancedpatternplayercompletionhandler.md)

### Controlling Playback

- [pause(atTime:)](corehaptics/chhapticadvancedpatternplayer/pause(attime:).md)
- [resume(atTime:)](corehaptics/chhapticadvancedpatternplayer/resume(attime:).md)
- [seek(toOffset:)](corehaptics/chhapticadvancedpatternplayer/seek(tooffset:).md)

### Silencing Haptic Playback

- [isMuted](corehaptics/chhapticadvancedpatternplayer/ismuted.md)

## Relationships

### Inherits From

- [CHHapticPatternPlayer](corehaptics/chhapticpatternplayer.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Essentials

- [Preparing your app to play haptics](corehaptics/preparing-your-app-to-play-haptics.md)
- [Playing a single-tap haptic pattern](corehaptics/playing-a-single-tap-haptic-pattern.md)
- [CHHapticEngine](corehaptics/chhapticengine.md)
- [CHHapticPattern](corehaptics/chhapticpattern.md)
- [CHHapticPatternPlayer](corehaptics/chhapticpatternplayer.md)
