---
title: "scheduleBuffer(_:completionCallbackType:completionHandler:)"
framework: avfaudio
role: symbol
role_heading: Instance Method
path: "avfaudio/avaudioplayernode/schedulebuffer(_:completioncallbacktype:completionhandler:)"
---

# scheduleBuffer(_:completionCallbackType:completionHandler:)

Schedules the playing samples from an audio buffer with the callback option you specify.

## Declaration

```swift
func scheduleBuffer(_ buffer: AVAudioPCMBuffer, completionCallbackType callbackType: AVAudioPlayerNodeCompletionCallbackType, completionHandler: (@Sendable (AVAudioPlayerNodeCompletionCallbackType) -> Void)? = nil)
```

```swift
func scheduleBuffer(_ buffer: AVAudioPCMBuffer, completionCallbackType callbackType: AVAudioPlayerNodeCompletionCallbackType) async -> AVAudioPlayerNodeCompletionCallbackType
```

## Parameters

- `buffer`: The buffer to play.
- `callbackType`: The option to specify when the system must call the completion handler.
- `completionHandler`: The handler the system calls after the player schedules the buffer for playback on the render thread, or the player stops.

## Discussion

Discussion

## See Also

### Scheduling Playback

- [scheduleFile(_:at:completionHandler:)](avfaudio/avaudioplayernode/schedulefile(_:at:completionhandler:).md)
- [scheduleFile(_:at:completionCallbackType:completionHandler:)](avfaudio/avaudioplayernode/schedulefile(_:at:completioncallbacktype:completionhandler:).md)
- [scheduleSegment(_:startingFrame:frameCount:at:completionHandler:)](avfaudio/avaudioplayernode/schedulesegment(_:startingframe:framecount:at:completionhandler:).md)
- [scheduleSegment(_:startingFrame:frameCount:at:completionCallbackType:completionHandler:)](avfaudio/avaudioplayernode/schedulesegment(_:startingframe:framecount:at:completioncallbacktype:completionhandler:).md)
- [scheduleBuffer(_:at:options:completionHandler:)](avfaudio/avaudioplayernode/schedulebuffer(_:at:options:completionhandler:).md)
- [scheduleBuffer(_:completionHandler:)](avfaudio/avaudioplayernode/schedulebuffer(_:completionhandler:).md)
- [scheduleBuffer(_:at:options:completionCallbackType:completionHandler:)](avfaudio/avaudioplayernode/schedulebuffer(_:at:options:completioncallbacktype:completionhandler:).md)
- [AVAudioPlayerNodeBufferOptions](avfaudio/avaudioplayernodebufferoptions.md)
- [AVAudioPlayerNodeCompletionCallbackType](avfaudio/avaudioplayernodecompletioncallbacktype.md)
- [AVAudioPlayerNodeCompletionHandler](avfaudio/avaudioplayernodecompletionhandler.md)
