---
title: AVMIDIProgramChangeEvent
framework: avfaudio
role: symbol
role_heading: Class
path: avfaudio/avmidiprogramchangeevent
---

# AVMIDIProgramChangeEvent

An object that represents a MIDI program or patch change message.

## Declaration

```swift
class AVMIDIProgramChangeEvent
```

## Overview

Overview The effect of this message depends on the AVMusicTrack destination audio unit.

## Topics

### Creating a Program Change Event

- [init(channel:programNumber:)](avfaudio/avmidiprogramchangeevent/init(channel:programnumber:).md)

### Configuring a Program Change Event

- [programNumber](avfaudio/avmidiprogramchangeevent/programnumber.md)

## Relationships

### Inherits From

- [AVMIDIChannelEvent](avfaudio/avmidichannelevent.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

### Handling MIDI Channel Events

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