我有一个场景,我有点卡住了.假设我有一个关于颜色的调查,我有一个用于颜色数据的表,另一个用于人们的答案.
tbColors
color_code , color_name
1 , 'blue'
2 , 'green'
3 , 'yellow'
4 , 'red'
Run Code Online (Sandbox Code Playgroud)
tbAnswers
answer_id , favorite_color , least_favorite_color , color_im_allergic_to
1 , 1 , 2 3
2 , 3 , 1 4
3 , 1 , 1 2
4 , 2 , 3 4
Run Code Online (Sandbox Code Playgroud)
为了显示,我想编写一个SELECT,它显示了答案表,但使用了tbColors中的color_name列.
我理解"最愚蠢"的方法:在FROM部分中命名tbColors三次,为每个要替换的列使用不同的别名.
一个非愚蠢的方式怎么样?
我在 AudioKit 4.9.1 上,无法使用新的AKSequencer(替换AKAppleSequencer)播放 MIDI 文件。没有声音播放。假设 MIDI 文件和样本已正确加载,因为它们以前使用AKAppleSequencer. 还启用了背景音频模式功能。
这是相关代码:(我也尝试过AKSampler,AKAppleSampler但结果相同)
class MIDIPlayer {
var sampler: AKSampler
var legacySampler: AKAppleSampler
var sequencer: AKSequencer
init(withSfz sfz: String, orSf2 sf2: String, andMidiFile midiFile: String) {
self.sampler = AKSampler()
self.legacySampler = AKAppleSampler()
try? legacySampler.loadSoundFont(sf2, preset: 0, bank: 0)
sampler.loadSFZ(url: Bundle.main.url(forResource: sfz, withExtension: "sfz")!)
AudioKit.output = sampler
try? AudioKit.start()
sequencer = AKSequencer(targetNode: sampler)
// sequencer = AKSequencer(targetNode: legacySampler)
let midi = AKMIDIFile(url: Bundle.main.url(forResource: midiFile, withExtension: …Run Code Online (Sandbox Code Playgroud)