public interface MidiDevice extends AutoCloseable
MidiDevice
是所有MIDI设备底座接口。常见的设备包括合成器,音序器,MIDI输入端口,和MIDI输出端口。
一个MidiDevice
可以发射机或MIDI事件接收器,或两者。因此,它可以提供Transmitter
或Receiver
实例(或两者)。通常,MIDI端口提供发射机、MIDI输出端口和合成器提供接收机。一个音序器通常提供了用于记录回放和接收器发射器。
一个MidiDevice
可以打开和关闭以及隐式显式。通过调用显式打开open()
完成的,明确的结束是在MidiDevice
实例调用close()
做。如果一个应用程序打开一个MidiDevice
明确,它已关闭它明确地释放系统资源,使应用程序能够干净地退出。隐式的开放是通过调用MidiSystem.getReceiver
和MidiSystem.getTransmitter
做。通过MidiSystem.getReceiver
和MidiSystem.getTransmitter
用MidiDevice
实现依赖除非性能javax.sound.midi.Receiver
和javax.sound.midi.Transmitter
使用(见属性选择默认供应商MidiSystem
描述)。一个MidiDevice
说开了含蓄,是通过关闭Receiver
或Transmitter
导致打开它隐式关闭。如果超过一个隐式的开放Receiver
或Transmitter
被应用,装置在最后Receiver
或Transmitter
已关闭。另一方面,呼叫getReceiver
或getTransmitter
对设备实例直接不打开设备隐。关闭这些Transmitter
s和Receiver
s不关闭设备隐。使用一个装置与Receiver
s或Transmitter
s这种方式获得的,该设备必须打开和关闭显。
如果隐式和显式打开和关闭混合在同一MidiDevice
实例,适用以下规则:
MidiDevice device = ...;
if ( ! (device instanceof Sequencer) && ! (device instanceof Synthesizer)) {
// we're now sure that device represents a MIDI port
// ...
}
一个MidiDevice
包括
对象提供制造商信息等。MidiDevice.Info
Synthesizer
,
Sequencer
,
Receiver
,
Transmitter
Modifier and Type | Interface and Description |
---|---|
static class |
MidiDevice.Info
一个
MidiDevice.Info 对象包含有关
各种数据,包括它的名字,谁创造了它的公司,和描述性的文字。
|
Modifier and Type | Method and Description |
---|---|
void |
close()
关闭设备,表明该设备应该释放它所使用的任何系统资源。
|
MidiDevice.Info |
getDeviceInfo()
获得关于设备的信息,包括它的java类和
Strings 包含名称,供应商,和描述。
|
int |
getMaxReceivers()
在连接的最大数量的可用MIDI接收MIDI数据得出该MIDI设备。
|
int |
getMaxTransmitters()
获得最大数量的可用MIDI连接在MIDI设备发送MIDI数据。
|
long |
getMicrosecondPosition()
获得该设备的当前时间戳,在微秒。
|
Receiver |
getReceiver()
获得接收MIDI通过MIDI设备可以接收MIDI数据。
|
List<Receiver> |
getReceivers()
返回所有当前活动的,非封闭连接这mididevice接收机。
|
Transmitter |
getTransmitter()
得到一个MIDI连接的MIDI设备将发送MIDI数据返回的变送器必须关闭的时候使用它的应用程序已完成。
|
List<Transmitter> |
getTransmitters()
返回所有当前活动的,非封闭连接这mididevice发射机。
|
boolean |
isOpen()
报告设备是否打开。
|
void |
open()
打开该设备,表明它应该获得它所需要的任何系统资源,并成为可操作的。
|
MidiDevice.Info getDeviceInfo()
Strings
包含名称,供应商,和描述。
void open() throws MidiUnavailableException
打开设备明确这个调用应用程序通过调用close()
关闭装置。这是必要的释放系统资源,并允许应用程序退出干净。
请注意,一些设备,一旦关闭,不能重新打开。试图打开这样的设备会导致midiunavailableexception。
MidiUnavailableException
-如果设备不能由于资源限制开扔。
SecurityException
-如果设备不能由于安全限制开扔。
close()
,
isOpen()
void close()
所有的Receiver
和Transmitter
实例从这个设备打开关闭。这包括通过MidiSystem
检索实例。
close
接口
AutoCloseable
open()
,
isOpen()
long getMicrosecondPosition()
int getMaxReceivers()
int getMaxTransmitters()
Receiver getReceiver() throws MidiUnavailableException
通常返回的接收机实现MidiDeviceReceiver
接口。
获得这个方法的Receiver
不打开装置。能够使用的设备,它必须通过调用open()
显式打开,关闭Receiver
不会关闭装置。它必须通过调用close()
显式关闭。
MidiUnavailableException
-如果一个接收器不可用,由于资源的限制抛
Receiver.close()
List<Receiver> getReceivers()
通常返回的接收机实现MidiDeviceReceiver
接口。
Transmitter getTransmitter() throws MidiUnavailableException
通常返回的发射机实现MidiDeviceTransmitter
接口。
用这种方法获得Transmitter
不打开装置。能够使用的设备,它必须通过调用open()
显式打开。同时,关闭Transmitter
不会关闭装置。它必须通过调用close()
显式关闭。
MidiUnavailableException
如果发射机不可用,由于资源的限制抛
Transmitter.close()
List<Transmitter> getTransmitters()
通常返回的发射机实现MidiDeviceTransmitter
接口。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.