---
title: AVAudioSequencer
framework: avfaudio
role: symbol
role_heading: Class
path: avfaudio/avaudiosequencer
---

# AVAudioSequencer

An object that plays audio from a collection of MIDI events the system organizes into music tracks.

## Declaration

```swift
class AVAudioSequencer
```

## Topics

### Creating an Audio Sequencer

- [init()](avfaudio/avaudiosequencer/init().md)
- [init(audioEngine:)](avfaudio/avaudiosequencer/init(audioengine:).md)

### Writing to a MIDI File

- [write(to:smpteResolution:replaceExisting:)](avfaudio/avaudiosequencer/write(to:smpteresolution:replaceexisting:).md)

### Handling Music Tracks

- [AVMusicTrack](avfaudio/avmusictrack.md)
- [createAndAppendTrack()](avfaudio/avaudiosequencer/createandappendtrack().md)
- [reverseEvents()](avfaudio/avaudiosequencer/reverseevents().md)
- [removeTrack(_:)](avfaudio/avaudiosequencer/removetrack(_:).md)
- [AVMusicTrackLoopCount](avfaudio/avmusictrackloopcount.md)

### Handling Music Events

- [AVMusicEvent](avfaudio/avmusicevent.md)
- [AVMusicUserEvent](avfaudio/avmusicuserevent.md)
- [AVParameterEvent](avfaudio/avparameterevent.md)
- [AVAUPresetEvent](avfaudio/avaupresetevent.md)
- [AVExtendedTempoEvent](avfaudio/avextendedtempoevent.md)
- [AVExtendedNoteOnEvent](avfaudio/avextendednoteonevent.md)

### Handling MIDI Events

- [AVMIDINoteEvent](avfaudio/avmidinoteevent.md)
- [AVMIDIMetaEvent](avfaudio/avmidimetaevent.md)
- [AVMIDISysexEvent](avfaudio/avmidisysexevent.md)

### Handling MIDI Channel Events

- [AVMIDIChannelEvent](avfaudio/avmidichannelevent.md)
- [AVMIDIChannelPressureEvent](avfaudio/avmidichannelpressureevent.md)
- [AVMIDIProgramChangeEvent](avfaudio/avmidiprogramchangeevent.md)
- [AVMIDIPolyPressureEvent](avfaudio/avmidipolypressureevent.md)
- [AVMIDIPitchBendEvent](avfaudio/avmidipitchbendevent.md)
- [AVMIDIControlChangeEvent](avfaudio/avmidicontrolchangeevent.md)

### Managing Sequence Load Options

- [load(from:options:)](avfaudio/avaudiosequencer/load(from:options:)-8o58w.md)
- [load(from:options:)](avfaudio/avaudiosequencer/load(from:options:)-9kb6m.md)
- [AVMusicSequenceLoadOptions](avfaudio/avmusicsequenceloadoptions.md)

### Operating an Audio Sequencer

- [prepareToPlay()](avfaudio/avaudiosequencer/preparetoplay().md)
- [start()](avfaudio/avaudiosequencer/start().md)
- [stop()](avfaudio/avaudiosequencer/stop().md)

### Managing Time Stamps

- [AVMusicTimeStamp](avfaudio/avmusictimestamp.md)
- [hostTime(forBeats:error:)](avfaudio/avaudiosequencer/hosttime(forbeats:error:).md)
- [seconds(forBeats:)](avfaudio/avaudiosequencer/seconds(forbeats:).md)

### Handling Beat Range

- [beats(forHostTime:error:)](avfaudio/avaudiosequencer/beats(forhosttime:error:).md)
- [beats(forSeconds:)](avfaudio/avaudiosequencer/beats(forseconds:).md)
- [AVMusicTimeStampEndOfTrack](avfaudio/avmusictimestampendoftrack.md)
- [AVBeatRange](avfaudio/avbeatrange-swift.typealias.md)

### Setting the User Callback

- [setUserCallback(_:)](avfaudio/avaudiosequencer/setusercallback(_:).md)
- [AVAudioSequencerUserCallback](avfaudio/avaudiosequencerusercallback.md)

### Getting Sequence Properties

- [isPlaying](avfaudio/avaudiosequencer/isplaying.md)
- [rate](avfaudio/avaudiosequencer/rate.md)
- [tracks](avfaudio/avaudiosequencer/tracks.md)
- [currentPositionInBeats](avfaudio/avaudiosequencer/currentpositioninbeats.md)
- [currentPositionInSeconds](avfaudio/avaudiosequencer/currentpositioninseconds.md)
- [tempoTrack](avfaudio/avaudiosequencer/tempotrack.md)
- [userInfo](avfaudio/avaudiosequencer/userinfo.md)
- [AVAudioSequencer.InfoDictionaryKey](avfaudio/avaudiosequencer/infodictionarykey.md)
- [data(withSMPTEResolution:error:)](avfaudio/avaudiosequencer/data(withsmpteresolution:error:).md)
- [AVMusicTimeStampEndOfTrack](avfaudio/avmusictimestampendoftrack.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### MIDI

- [AVAudioUnitSampler](avfaudio/avaudiounitsampler.md)
- [AVMIDIEventListBlock](avfaudio/avmidieventlistblock.md)
