据我所知,没有可用于在 iPhone 上播放 MIDI 的本地或第三方库。但似乎有不少应用程序可以做到这一点。他们在用什么?有什么线索吗?
问问题
16937 次
5 回答
9
我在这里写了一篇关于如何通过 AUGraph 使用 CoreMIDI 播放 MIDI 的教程。
于 2012-03-22T21:21:23.580 回答
6
对于那些走这条路的人来说仅供参考:AVMIDIPlayer 是在 iOS 8 中引入的。似乎在设备上运行良好,而 sim 则不然。
于 2014-11-13T06:18:00.793 回答
2
这对我在 iPhone 上播放 MIDI 文件很有用:
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)
}
}
}
进而MidiPlayer.shared.play(file: "midifile")
于 2018-02-14T12:23:00.917 回答
1
查看 MusicPlayer 类。结合自 iOS 5.0 以来可用的 AUSampler 音频单元,您可以非常轻松地构建 MIDI 播放器。(链接是 OS X,但它也适用于 iOS)
关于采样器音频单元,请参阅: 适用于 iOS 的简单可嵌入 MidiSynth?
于 2012-03-05T15:06:28.833 回答
-2
我发现这个库可用于许可。希望它可以帮助别人。
于 2010-04-21T08:43:43.470 回答