2013-02-10 81 views
1

我需要在我的應用程序中同時播放多個音軌。曲目可能是正常的音頻文件或一組midi音符。因此,我配置了一個音頻圖形,並將各種音頻單元(文件播放器AU和採樣器AU)連接到多通道調音臺,其輸出連接到遠程io單元以播放音頻文件和MIDI文件。採樣器單元裝載有各種儀器的sf2文件。所有這些工作都很好,但是一旦我有兩個以上的MIDI採樣器音頻單元,並嘗試通過使用MusicDeviceMIDIEvent功能的這些單元同時播放midi音符,輸出聲音會在幾次循環後變形/中斷。我需要同時演奏大約10首樂器音軌,並在添加第三個MIDI單元后立即開始。如果這種方法存在問題,有人能指出我的意思嗎?如果是這樣,你能讓我知道我怎樣才能完成這個同時演奏各種樂器的MIDI音符的任務。在iOS中使用音頻單元同時播放多個midi音符

回答

1

在不同音軌上播放多個Midi音符應該不成問題。我得到它工作正常。確保您在播放新的MIDI文件之前停止正在播放的MIDI文件。你可以使用相同的功能來阻止如下的midi筆記

UInt32 noteCommand =  kMIDIMessage_NoteOff << 4 | 0; 
UInt32 velocity = 0; 

MusicDeviceMIDIEvent (samplerUnit,    //audiounit 
           noteCommand,  
           note,   //note being played 
           velocity, 
           0); 
+0

非常感謝!我以不同的方式停止筆記,但這工作得很好。 – Ravi 2013-02-10 09:23:04