public abstract class MidiReceiver
extends Object
java.lang.Object | |
↳ | android.media.midi.MidiReceiver |
Known Direct Subclasses |
用于向MIDI设备发送数据和从MIDI设备接收数据的接口。
Public constructors |
|
---|---|
MidiReceiver() 默认的MidiReceiver构造函数。 |
|
MidiReceiver(int maxMessageSize) MidiReceiver构造函数。 |
Public methods |
|
---|---|
void |
flush() 指示接收器放弃所有待处理的MIDI数据。 |
final int |
getMaxMessageSize() 返回此接收器可以接收的最大消息大小。 |
void |
onFlush() 当接收器被指示放弃所有待处理的MIDI数据时调用。 |
abstract void |
onSend(byte[] msg, int offset, int count, long timestamp) 每当接收机通过新的MIDI数据时调用。 |
void |
send(byte[] msg, int offset, int count) 被称为发送MIDI数据到接收器没有时间戳。 |
void |
send(byte[] msg, int offset, int count, long timestamp) 被叫用指定的时间戳发送MIDI数据给接收器。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
MidiReceiver (int maxMessageSize)
MidiReceiver构造函数。
Parameters | |
---|---|
maxMessageSize |
int : the maximum size of a message this receiver can receive |
int getMaxMessageSize ()
返回此接收器可以接收的最大消息大小。
Returns | |
---|---|
int |
maximum message size |
void onFlush ()
当接收器被指示放弃所有待处理的MIDI数据时调用。 如果子类维护将来要处理的MIDI数据的列表或队列,则子类应该重写此方法。
Throws | |
---|---|
IOException |
void onSend (byte[] msg, int offset, int count, long timestamp)
每当接收机通过新的MIDI数据时调用。 子类覆盖此方法来接收MIDI数据。 如果计数超过getMaxMessageSize()
可能会失败。 注:msg数组参数仅在此调用的上下文中有效。 msg字节应由接收方复制,而不是保留对该参数的引用。 另外,修改msg数组参数的内容可能会导致同一应用程序中的其他接收者在其{link #onSend}方法中接收不正确的值。
Parameters | |
---|---|
msg |
byte : a byte array containing the MIDI data |
offset |
int : the offset of the first byte of the data in the array to be processed |
count |
int : the number of bytes of MIDI data in the array to be processed |
timestamp |
long : the timestamp of the message (based on nanoTime() |
Throws | |
---|---|
IOException |
void send (byte[] msg, int offset, int count)
被称为发送MIDI数据到接收器没有时间戳。 数据将按发送顺序由接收方处理。 如果计数超过getMaxMessageSize()
则数据将被拆分为onSend(byte[], int, int, long)
多个呼叫。 阻塞,直到发送所有数据或发生异常。 在后一种情况下,异常之前发送的数据量不会提供给调用者。 沟通应被视为腐败。 发件人应重新建立通信,重置所有控制器并关闭所有笔记。
Parameters | |
---|---|
msg |
byte : a byte array containing the MIDI data |
offset |
int : the offset of the first byte of the data in the array to be sent |
count |
int : the number of bytes of MIDI data in the array to be sent |
Throws | |
---|---|
IOException |
if the data could not be sent in entirety |
void send (byte[] msg, int offset, int count, long timestamp)
被叫用指定的时间戳发送MIDI数据给接收器。 数据将由接收者先按时间戳顺序处理,然后按发送顺序处理。 数据将获得分成多次调用onSend(byte[], int, int, long)
如果计数超过getMaxMessageSize()
。 阻塞,直到发送所有数据或发生异常。 在后一种情况下,异常之前发送的数据量不会提供给调用者。 沟通应被视为腐败。 发件人应重新建立通信,重置所有控制器并关闭所有笔记。
Parameters | |
---|---|
msg |
byte : a byte array containing the MIDI data |
offset |
int : the offset of the first byte of the data in the array to be sent |
count |
int : the number of bytes of MIDI data in the array to be sent |
timestamp |
long : the timestamp of the message, based on nanoTime() |
Throws | |
---|---|
IOException |
if the data could not be sent in entirety |