CoreMidi Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit.
Klassen
IOErrorEventArgs |
Stellt Daten für das IOError-Ereignis bereit. |
Midi |
Globale Methoden und Konstanten für die Verwendung von CoreMidi. |
Midi.Notifications |
Benachrichtigung, die von der Midi Klasse bereitgestellt wird. |
MidiCIProfile |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
MidiCIProfileState |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
MidiCISession |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
MidiClient |
Haupteinstiegspunkt für die Verwendung von MIDI in MacOS X und iOS. |
MidiDevice |
Stellt ein MIDI-Gerät dar (in der Regel stellen sie ein Hardwaregerät dar, aber es sind auch virtuelle Geräte vorhanden). Geräte können eine oder mehrere Entitäten enthalten. |
MidiDeviceList |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
MidiEndpoint |
Endpunkte stellen eine einzelne Quelle oder ein einzelnes Ziel im MIDI-Stream dar. |
MidiEntity |
Ein MidiObject , der eine Unterkomponente eines MidiDevicedarstellt. |
MidiException |
Ausnahme, die von Midi-Methoden ausgelöst wird. |
MidiNetworkConnection |
Eine Verbindung mit einem MIDI-Netzwerkhost mithilfe von MidiNetworkSession. |
MidiNetworkHost |
Ein MIDI-Remotehost. |
MidiNetworkSession |
Eine Singletonklasse, die die MidiNetworkConnections zwischen verschiedenen MIDI-Entitäten verwaltet. |
MidiObject |
Basisklasse für die MidiClientKlassen , MidiPort, MidiDeviceMidiEntityund MidiEndpoint |
MidiPacket |
Kapselt eine Reihe von MIDI-Ereignissen. |
MidiPacketsEventArgs |
Stellt Daten für die MessageReceived Ereignisse E:CoreMidi.MidiPacketsEventArgs.MessageReceived bereit. |
MidiPort |
Eingabe- und Ausgabeports. |
MidiThruConnection |
Verwaltet MIDI-Wiedergabeverbindungen. |
MidiThruConnectionParams |
MIDI-Transformationen und -Routings. |
ObjectAddedOrRemovedEventArgs |
Stellt Daten für die ObjectRemoved Ereignisse E:CoreMidi.ObjectAddedOrRemovedEventArgs.ObjectRemoved. |
ObjectPropertyChangedEventArgs |
Stellt Daten für das PropertyChanged-Ereignis bereit. |
Strukturen
MidiCIDeviceIdentification |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
MidiControlTransform |
Stellt eine Transformation eines MIDI-Steuerelements dar. |
MidiThruConnectionEndpoint |
Quelle oder Ziel eines MidiThruConnection. |
MidiTransform |
Objekt, das definiert, wie ein MIDI-Ereignis transformiert wird. |
MidiValueMap |
MIDI-Wertzuordnung. |
Enumerationen
MidiError |
Fehler, die vom CoreMIDI-Stapel ausgelöst werden. |
MidiNetworkConnectionPolicy |
Eine Enumeration, deren Werte angeben, welche Hosts zum Herstellen einer Verbindung mit einer MIDI-Netzwerksitzung berechtigt sind. |
MidiTransformControlType |
Transformationstyp des MIDI-Steuerelements. |
MidiTransformType |
MIDI-Transformationstypen. |
Delegaten
MidiCIProfileChangedHandler |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
MidiCIPropertyChangedHandler |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
MidiCIPropertyResponseHandler |
Der CoreMidi-Namespace stellt Klassen für die Interaktion mit dem MIDI-Subsystem bereit. |
Hinweise
CoreMIDI ist eine API, die mit dem MIDI-Server unter iOS und OSX kommuniziert, die wiederum mit MIDI-Geräten interagiert, die mit Ihrem Mac- oder iOS-Gerät verbunden sind.
Wenn Sie CoreMIDI verwenden, werden Sie auf verschiedene Klassen stoßen, die sich mit verschiedenen Teilen des MIDI-Stapels befassen. Die folgende Grafik veranschaulicht die Beziehungen:
Das MIDI-Gerät selbst wird durch die MidiDevice -Klasse dargestellt. Geräte können eine oder mehrere Entitäten (MidiEntity) enthalten. Beispielsweise könnte ein MIDI-Gerät zwei unabhängige MIDI-Tongeneratoren enthalten. Jede Entität enthält eine Reihe von Endpunkten, die entweder Quellen oder Zielwerte sind. Sowohl MIDI-Quellen als auch MIDI-Ziele werden von der MidiEntity -Klasse gekapselt.
Um mit MIDI zu beginnen, müssen Sie ein MidiClient -Objekt erstellen. Dieses Objekt ist das Gateway zwischen Ihrer Anwendung und dem MIDI-Serverprozess. Sie abonnieren die Ereignisse, die dieses Objekt auslöst, um hinzugefügte, entfernte Geräte und Änderungen in ihren Eigenschaften und der Setupkonfiguration nachzuverfolgen.
Sie verwenden auch, MidiClient um Eingabe- und Ausgabeports zu erstellen. Die Eingabeports lösen das MessageReceived Ereignis aus, wenn neue MIDI-Daten verfügbar sind, und Sie können die Packets -Eigenschaft in den empfangenen Argumenten verwenden, um die Daten herauszuholen.
In der MidiClient -Klasse finden Sie ein Beispiel für das Einrichten von Elementen.
Um netzwerkbasierte MIDI-Verbindungen verwenden zu können, müssen Sie die Netzwerksitzung aktivieren und ihre Verbindungsrichtlinie wie folgt festlegen:
var session = MidiNetworkSession.DefaultSession;
session.Enabled = true;
session.ConnectionPolicy = MidiNetworkConnectionPolicy.Anyone;
Um eine Verbindung mit einem MIDI-Remotenetzwerkhost herzustellen, verwenden Sie wie MidiNetworkHostfolgt:
var host = MidiNetworkHost.Create ("My Session", "myhost.xamarin.com", 5004);
var connection = MidiNetworkConnection.FromHost (host);