AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

SwiftでMIDIファイルを再生する方法【iOSアプリ開発】

仕事で楽譜作成アプリを開発することになったので、MIDI関連の勉強中です。

今回はSwiftでMIDIファイルを再生する方法に関するメモ。

 

SwiftでMIDIファイルを再生する方法

プロジェクトに「test.mid」ファイルを追加して、アプリからmidファイルを再生する方法。

import AVFoundation

   var musicPlayer: MusicPlayer?
   var sequence: MusicSequence?

func play(file: String) {
        //指定したMIDIファイルの音楽を再生する
        let midiFile = Bundle.main.url(forResource: file, withExtension: "mid")
        NewMusicPlayer(&musicPlayer)
        NewMusicSequence(&sequence)
        
        if let musicPlayer = musicPlayer, let sequence = sequence {
            MusicSequenceFileLoad(sequence, midiFile as! CFURL, .midiType, MusicSequenceLoadFlags())
            MusicPlayerSetSequence(musicPlayer, sequence)
            MusicPlayerStart(musicPlayer)
        }
}

ネットで「Swift MIDI再生」とか調べてもなかなか出てこなかった。
調べていないけど、MusicPlayer以外のフレームワークでも.midファイル再生できるのかな?
とりあえず、今回のところは.midファイルが再生できたのでOKとします。