2010-03-31 19 views
7

Per quanto ne so, non c'è libreria nativa o di terze parti a disposizione per giocare MIDI su iPhone. Ma sembrano esserci alcune app che fanno esattamente questo. Cosa stanno usando? Qualche indizio?Come si suona il MIDI su iPhone?

+1

Se non ci sono terze libaraies parti per la riproduzione MIDI, probabilmente appena fatto il proprio, o sembravano harded. .. o pagato. MIDI dovrebbe essere un formato abbastanza semplice da capire cosa sta succedendo, allora non vi resta che giocare a modulare i vostri campioni di giocare loro come la canzone richiesta. Ricorda, la dose MIDI non dice come deve suonare, solo ciò che dovrebbe suonare. Dipende dal tuo software/hardware MIDI per trasformarlo in qualcosa di buono. – thecoshman

+1

MIDI è supportato nativamente in iOS, proprio legame con il quadro CoreMIDI. – Berik

risposta

1

Partenza classe MusicPlayer. In combinazione con l'unità audio AUSampler disponibile da iOS 5.0, è possibile creare facilmente un lettore MIDI. (Il link è OS X, ma si applica per iOS così)

https://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/CoreAudioOverview/ARoadmaptoCommonTasks/ARoadmaptoCommonTasks.html#//apple_ref/doc/uid/TP40003577-CH6-SW13

Informazioni sull'impianto audio sampler vedere: Simple embeddable MidiSynth for iOS?

8

Ho scritto un tutorial su come giocare MIDI utilizzando CoreMIDI attraverso un AUGraph here.

+0

Complimenti, grazie per aver condiviso questo! (Avviso: ho tentato di commentare il tuo blog ma Drupal ha generato un errore.) Sto verificando il progetto, ma sembra che manchino alcuni file (sotto FirstGame) - simplexest.mid e Gorts_Filters.SF2 per la precisione. Ho trovato quest'ultimo. Userei un altro file MIDI ma voglio essere sicuro di vedere come ha funzionato con il tuo più semplice. Grazie ancora! –

+0

Possiamo ottenere un aggiornamento? Questi file mancano ancora – Kurru

+0

Grazie per i responsabili dei commenti! Aggiungerò i collegamenti ai due file mancanti ora. –

4

FYI per chi va su questa strada: AVMIDIPlayer è stato introdotto in iOS 8. sembra funzionare bene sul dispositivo, sim non tanto.

+0

Questa è la strada da percorrere. Per un tutorial, controlla questo: http://www.rockhoppertech.com/blog/swift-and-avmidiplayer/ – Zeezer

0

questo ha lavorato per me per la riproduzione di file midi su 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) 
     } 
    } 
} 

e poi MidiPlayer.shared.play(file: "midifile")

Problemi correlati