CoreMidi 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
CoreMidi 命名空間提供與 MIDI 子系統互動的類別。
類別
結構
MidiCIDeviceIdentification |
CoreMidi 命名空間提供與 MIDI 子系統互動的類別。 |
MidiControlTransform |
表示 MIDI 控制項的轉換。 |
MidiThruConnectionEndpoint |
的來源或目的地 MidiThruConnection 。 |
MidiTransform |
物件,定義 MIDI 事件的轉換方式。 |
MidiValueMap |
MIDI 值對應。 |
列舉
MidiError |
CoreMIDI 堆疊所引發的錯誤。 |
MidiNetworkConnectionPolicy |
列舉,其值指定哪些主機符合連線到 MIDI 網路會話的資格。 |
MidiTransformControlType |
MIDI 控制項轉換類型。 |
MidiTransformType |
MIDI 轉換類型。 |
委派
MidiCIProfileChangedHandler |
CoreMidi 命名空間提供與 MIDI 子系統互動的類別。 |
MidiCIPropertyChangedHandler |
CoreMidi 命名空間提供與 MIDI 子系統互動的類別。 |
MidiCIPropertyResponseHandler |
CoreMidi 命名空間提供與 MIDI 子系統互動的類別。 |
備註
CoreMIDI 是一種 API,可與 iOS 和 OSX 上的 MIDI 伺服器交談,然後與連線到 Mac 或 iOS 裝置的 MIDI 裝置互動。
使用 CoreMIDI 時,您將遇到處理 MIDI 堆疊不同部分的各種類別,下圖說明關聯性:
MIDI 裝置本身是由 MidiDevice 類別表示。 裝置可以包含一或多個實體 (MidiEntity) 。 例如,MIDI 裝置可能包含兩個獨立的 MIDI 音調產生器。 每個實體都包含一系列端點,這些端點為來源或目的地。 MIDI 來源和 MIDI 目的地都是由 MidiEntity 類別封裝。
若要從 MIDI 開始,您必須建立 MidiClient 物件。 此物件是應用程式與 MIDI 伺服器進程之間的閘道。 您可以訂閱此物件引發的事件,以追蹤要新增、移除的裝置,以及其屬性和設定組態中的變更。
您也可以使用 MidiClient 來建立輸入埠和輸出埠。 輸入埠會在有新的 MIDI 資料可用時引發 MessageReceived 事件,而且您可以在收到的引數中使用 Packets 屬性來將資料取出
MidiClient如需如何設定專案的範例,請參閱 類別。
若要使用網路 MIDI 連線,您必須啟用網路會話並設定其連線原則,如下所示:
var session = MidiNetworkSession.DefaultSession;
session.Enabled = true;
session.ConnectionPolicy = MidiNetworkConnectionPolicy.Anyone;
若要連線到您使用 MidiNetworkHost 的遠端 MIDI 網路主機,如下所示:
var host = MidiNetworkHost.Create ("My Session", "myhost.xamarin.com", 5004);
var connection = MidiNetworkConnection.FromHost (host);