Freigeben über


CoreMidi Namespace

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);