This worked for me to play the midi file on the iPhone:
import AVFoundation class MidiPlayer: NSObject { static let shared = MidiPlayer() var musicPlayer: MusicPlayer? var sequence: MusicSequence? func play(file: String) { guard let midiFile = Bundle.main.url(forResource: file, withExtension: "mid") else { return } NewMusicPlayer(&musicPlayer) NewMusicSequence(&sequence) if let musicPlayer = musicPlayer, let sequence = sequence { MusicSequenceFileLoad(sequence, midiFile as CFURL, .midiType, MusicSequenceLoadFlags()) MusicPlayerSetSequence(musicPlayer, sequence) MusicPlayerStart(musicPlayer) } } func stop() { if let musicPlayer = musicPlayer { MusicPlayerStop(musicPlayer) } } }
and then MidiPlayer.shared.play(file: "midifile")
Leszek szary
source share