MidiClient 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。
public class MidiClient : CoreMidi.MidiObject
type MidiClient = class
inherit MidiObject
- 继承
注解
MidiClient 类是用于与 MacOS 和 iOS 上的 MIDI 子系统通信的网关。
通常会创建一个名称标识此特定客户端的 MidiClient 实例,连接到向此类公开的各种事件,并使用 CreateInputPort(String)CreateOutputPort(String) 方法创建输入和输出 midi 端口。
client = new MidiClient ("CoreMidiSample MIDI CLient");
client.ObjectAdded += delegate(object sender, ObjectAddedOrRemovedEventArgs e) {
Console.WriteLine ("Object {0} added to {1}", e.Child, e.Parent);
};
client.ObjectRemoved += delegate(object sender, ObjectAddedOrRemovedEventArgs e) {
Console.WriteLine ("Object {0} removed to {1}", e.Child, e.Parent);
};
client.PropertyChanged += delegate(object sender, ObjectPropertyChangedEventArgs e) {
Console.WriteLine ("Property {0} changed on {1}", e.PropertyName, e.MidiObject);
};
client.ThruConnectionsChanged += delegate {
Console.WriteLine ("Thru connections changed");
};
client.SerialPortOwnerChanged += delegate {
Console.WriteLine ("Serial port changed");
};
//
// Create your input and output ports
//
outputPort = client.CreateOutputPort ("CoreMidiSample Output Port");
inputPort = client.CreateInputPort ("CoreMidiSample Input Port");
// Print out packets when we receive them
inputPort.MessageReceived += delegate(object sender, MidiPacketsEventArgs e) {
Console.WriteLine ("Got {0} packets", e.Packets.Length);
};
将在 MidiClient 实例上引发以下事件:IOError、、ObjectAdded、ObjectRemoved、PropertyChangedSerialPortOwnerChanged、 SetupChanged 和ThruConnectionsChanged
构造函数
MidiClient(String) |
创建新的 MidiClient。 |
属性
Handle |
处理指向非托管对象表示形式的 (指针) 。 (继承自 MidiObject) |
Name |
此 MidiClient 的名称。 |
方法
CreateInputPort(String) |
创建新的 MIDI 输入端口。 |
CreateOutputPort(String) |
创建新的 MIDI 输出端口。 |
CreateVirtualDestination(String, MidiError) |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 |
CreateVirtualSource(String, MidiError) |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 |
Dispose() |
释放 MidiObject 对象使用的资源。 (继承自 MidiObject) |
Dispose(Boolean) |
释放 MidiClient 对象使用的资源。 |
GetData(IntPtr) |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 (继承自 MidiObject) |
GetDictionaryProperties(Boolean) |
以字典的形式返回对象属性。 (继承自 MidiObject) |
GetString(IntPtr) |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 (继承自 MidiObject) |
RemoveProperty(String) |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 (继承自 MidiObject) |
SetData(IntPtr, NSData) |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 (继承自 MidiObject) |
SetString(IntPtr, String) |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 (继承自 MidiObject) |
ToString() |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 |
事件
IOError |
当 MIDI 管道中存在错误时引发的事件。 |
ObjectAdded |
将 MidiDevice、MidiEntity 或 MidiEndpoint 添加到会话时引发的事件。 |
ObjectRemoved |
删除会话的 MidiDevice、MidiEntity 或 MidiEndpoint 时引发的事件。 |
PropertyChanged |
对象的 属性已更改。 |
SerialPortOwnerChanged |
在 MacOS X 和 iOS 中使用 MIDI 的主要入口点。 |
SetupChanged |
MIDI 设置已更改。 如果侦听 ObjectAdded、ObjectRemoved、PropertyChanged、ThruConnectionsChanged 和 SerialPortOwnerChanged 事件,则无需实现。 |
ThruConnectionsChanged |
添加或删除持久连接时引发的事件。 |