【发布时间】:2017-12-13 08:18:58
【问题描述】:
我想制作钢琴演奏器,我想在其中演奏一些 .mid 文件的预定义音符。这是我的代码不起作用。
let soundPath: String? = Bundle.main.path(forResource: "0_100", ofType: "mid")
let midiFile:URL = URL(fileURLWithPath: soundPath ?? "")
var midiPlayer: AVMIDIPlayer?
do {
try midiPlayer = AVMIDIPlayer(contentsOf: midiFile, soundBankURL: nil)
midiPlayer?.prepareToPlay()
midiPlayer?.play {
print("finished playing")
}
} catch {
print("could not create MIDI player")
}
【问题讨论】:
-
如何定义 sound-banks 呢?你可以想象 MIDI,例如一张带音符的纸,但仍需要为音乐会定义带乐器的管弦乐队。
-
你的意思是我也必须设置声音库?我想在用户单击按钮时播放音符。每个按钮播放不同的音符