public final class MidiDeviceInfo
extends Object
implements Parcelable
java.lang.Object | |
↳ | android.media.midi.MidiDeviceInfo |
该类包含描述MIDI设备的信息。 目前,我们只有USB设备可以轻松检索到的信息,但未来我们可能会扩展这些信息。 这个类只是一个封装MIDI设备描述的不可变对象。 使用MidiDevice类实际与设备进行通信。
Nested classes |
|
---|---|
class |
MidiDeviceInfo.PortInfo 包含有关输入或输出端口的信息。 |
Constants |
|
---|---|
String |
PROPERTY_BLUETOOTH_DEVICE 设备相应蓝牙设备的捆绑键。 |
String |
PROPERTY_MANUFACTURER 设备制造商名称属性的捆绑键。 |
String |
PROPERTY_NAME 设备用户可见名称属性的捆绑键。 |
String |
PROPERTY_PRODUCT 设备产品名称属性的捆绑键。 |
String |
PROPERTY_SERIAL_NUMBER 设备序列号属性的捆绑键。 |
String |
PROPERTY_USB_DEVICE 设备相应USB设备的捆绑键。 |
String |
PROPERTY_VERSION 设备版本属性的捆绑键。 |
int |
TYPE_BLUETOOTH 表示蓝牙MIDI设备的常量为 |
int |
TYPE_USB 表示USB MIDI设备的常量为 |
int |
TYPE_VIRTUAL 表示虚拟(基于软件)MIDI设备的常量,代表 |
Inherited constants |
---|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<MidiDeviceInfo> |
CREATOR |
Public methods |
|
---|---|
int |
describeContents() 描述此Parcelable实例的封送表示中包含的特殊对象的种类。 |
boolean |
equals(Object o) 指示其他某个对象是否“等于”这一个。 |
int |
getId() 返回设备的ID。 |
int |
getInputPortCount() 返回设备的输入端口数量。 |
int |
getOutputPortCount() 返回设备的输出端口数量。 |
PortInfo[] |
getPorts() 返回有关设备端口的信息。 |
Bundle |
getProperties() 返回包含设备属性的 |
int |
getType() 返回设备的类型。 |
int |
hashCode() 返回对象的哈希码值。 |
boolean |
isPrivate() 如果设备是私人的,则返回true。 |
String |
toString() 返回对象的字符串表示形式。 |
void |
writeToParcel(Parcel parcel, int flags) 将此对象平铺到一个包裹中。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
String PROPERTY_BLUETOOTH_DEVICE
设备相应蓝牙设备的捆绑键。 此属性的值为BluetoothDevice
。 仅限蓝牙MIDI设备。 与Bundle
返回的getProperties()
常量值:“bluetooth_device”
String PROPERTY_MANUFACTURER
设备制造商名称属性的捆绑键。 该属性的值为String
。 与由Bundle
返回的getProperties()
。 与USB MIDI设备的USB设备制造商名称字符串匹配。
常数值:“制造商”
String PROPERTY_NAME
设备用户可见名称属性的捆绑键。 该属性的值为String
。 与由Bundle
返回的getProperties()
。 对于USB设备,这是制造商和产品名称的拼接。
常量值:“名称”
String PROPERTY_PRODUCT
设备产品名称属性的捆绑键。 此属性的值为String
。 与由Bundle
返回的getProperties()
匹配USB MIDI设备的USB设备产品名称字符串。
常数值:“产品”
String PROPERTY_SERIAL_NUMBER
设备序列号属性的捆绑键。 该属性的值为String
。 与由Bundle
返回的getProperties()
匹配USB MIDI设备的USB设备序列号。
常量值:“serial_number”
String PROPERTY_USB_DEVICE
设备相应USB设备的捆绑键。 该属性的值为UsbDevice
。 只为USB MIDI设备设置。 与由Bundle
返回的getProperties()
常量值:“usb_device”
String PROPERTY_VERSION
设备版本属性的捆绑键。 此属性的值为String
。 与由Bundle
返回的getProperties()
匹配USB MIDI设备的USB设备版本号。
常量值:“版本”
int TYPE_VIRTUAL
表示虚拟(基于软件)的MIDI设备的 getType()
为 getType()
常量值:2(0x00000002)
int describeContents ()
描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象在writeToParcel(Parcel, int)
的输出中包含writeToParcel(Parcel, int)
,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR
位。
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
boolean equals (Object o)
指示其他某个对象是否“等于”这一个。
equals
方法在非空对象引用上实现等价关系:
x
, x.equals(x)
should return true
. x
and y
, x.equals(y)
should return true
if and only if y.equals(x)
returns true
. x
, y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns true
, then x.equals(z)
should return true
. x
and y
, multiple invocations of x.equals(y)
consistently return true
or consistently return false
, provided no information used in equals
comparisons on the objects is modified. x
, x.equals(null)
should return false
. 类Object
的equals
方法实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值x
和y
,当且仅当x
和y
引用同一对象( x == y
的值为true
)时,此方法返回true
。
请注意,无论何时重写此方法,通常都需要重写 hashCode
方法,以便维护 hashCode
方法的常规协定,该方法声明等同对象必须具有相同的哈希码。
Parameters | |
---|---|
o |
Object : the reference object with which to compare. |
Returns | |
---|---|
boolean |
true if this object is the same as the obj argument; false otherwise. |
int getId ()
返回设备的ID。 该ID由MIDI服务生成,并且不会跨越设备拔出。
Returns | |
---|---|
int |
the device's ID |
int getInputPortCount ()
返回设备的输入端口数量。
Returns | |
---|---|
int |
the number of input ports |
int getOutputPortCount ()
返回设备的输出端口数量。
Returns | |
---|---|
int |
the number of output ports |
PortInfo[] getPorts ()
返回有关设备端口的信息。 端口未指定顺序。
Returns | |
---|---|
PortInfo[] |
array of MidiDeviceInfo.PortInfo |
Bundle getProperties ()
返回包含设备属性的 Bundle
。
Returns | |
---|---|
Bundle |
the device's properties |
int hashCode ()
返回对象的哈希码值。 为了散列表的好处而支持此方法,例如由HashMap
提供的HashMap
。
一般合约 hashCode
是:
hashCode
method must consistently return the same integer, provided no information used in equals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. equals(Object)
method, then calling the hashCode
method on each of the two objects must produce the same integer result. equals(java.lang.Object)
method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables. 尽可能合理实用,由类Object
定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)
Returns | |
---|---|
int |
a hash code value for this object. |
boolean isPrivate ()
如果设备是私人的,则返回true。 私人设备仅对具有与托管设备的应用程序相同的UID的客户端可见和可访问。
Returns | |
---|---|
boolean |
true if the device is private |
String toString ()
返回对象的字符串表示形式。 一般来说, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”和对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void writeToParcel (Parcel parcel, int flags)
将此对象平铺到一个包裹中。
Parameters | |
---|---|
parcel |
Parcel : The Parcel in which the object should be written. |
flags |
int : Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE . |