Most visited

Recently visited

Added in API level 23

MidiDeviceInfo

public final class MidiDeviceInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.media.midi.MidiDeviceInfo


该类包含描述MIDI设备的信息。 目前,我们只有USB设备可以轻松检索到的信息,但未来我们可能会扩展这些信息。 这个类只是一个封装MIDI设备描述的不可变对象。 使用MidiDevice类实际与设备进行通信。

Summary

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设备的常量为 getType()

int TYPE_USB

表示USB MIDI设备的常量为 getType()

int TYPE_VIRTUAL

表示虚拟(基于软件)MIDI设备的常量,代表 getType()

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

返回包含设备属性的 Bundle

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

Constants

PROPERTY_BLUETOOTH_DEVICE

Added in API level 23
String PROPERTY_BLUETOOTH_DEVICE

设备相应蓝牙设备的捆绑键。 此属性的值为BluetoothDevice 仅限蓝牙MIDI设备。 Bundle返回的getProperties()

常量值:“bluetooth_device”

PROPERTY_MANUFACTURER

Added in API level 23
String PROPERTY_MANUFACTURER

设备制造商名称属性的捆绑键。 该属性的值为String 与由Bundle返回的getProperties() 与USB MIDI设备的USB设备制造商名称字符串匹配。

常数值:“制造商”

PROPERTY_NAME

Added in API level 23
String PROPERTY_NAME

设备用户可见名称属性的捆绑键。 该属性的值为String 与由Bundle返回的getProperties() 对于USB设备,这是制造商和产品名称的拼接。

常量值:“名称”

PROPERTY_PRODUCT

Added in API level 23
String PROPERTY_PRODUCT

设备产品名称属性的捆绑键。 此属性的值为String 与由Bundle返回的getProperties()匹配USB MIDI设备的USB设备产品名称字符串。

常数值:“产品”

PROPERTY_SERIAL_NUMBER

Added in API level 23
String PROPERTY_SERIAL_NUMBER

设备序列号属性的捆绑键。 该属性的值为String 与由Bundle返回的getProperties()匹配USB MIDI设备的USB设备序列号。

常量值:“serial_number”

PROPERTY_USB_DEVICE

Added in API level 23
String PROPERTY_USB_DEVICE

设备相应USB设备的捆绑键。 该属性的值为UsbDevice 只为USB MIDI设备设置。 与由Bundle返回的getProperties()

常量值:“usb_device”

PROPERTY_VERSION

Added in API level 23
String PROPERTY_VERSION

设备版本属性的捆绑键。 此属性的值为String 与由Bundle返回的getProperties()匹配USB MIDI设备的USB设备版本号。

常量值:“版本”

TYPE_BLUETOOTH

Added in API level 23
int TYPE_BLUETOOTH

表示蓝牙MIDI设备的常量为 getType()

常量值:3(0x00000003)

TYPE_USB

Added in API level 23
int TYPE_USB

代表USB MIDI设备的常量为 getType()

常数值:1(0x00000001)

TYPE_VIRTUAL

Added in API level 23
int TYPE_VIRTUAL

表示虚拟(基于软件)的MIDI设备的 getType()getType()

常量值:2(0x00000002)

Fields

CREATOR

Added in API level 23
Creator<MidiDeviceInfo> CREATOR

Public methods

describeContents

Added in API level 23
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.

equals

Added in API level 23
boolean equals (Object o)

指示其他某个对象是否“等于”这一个。

equals方法在非空对象引用上实现等价关系:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values 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.
  • For any non-null reference value x, x.equals(null) should return false.

Objectequals方法实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值xy ,当且仅当xy引用同一对象( 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.

getId

Added in API level 23
int getId ()

返回设备的ID。 该ID由MIDI服务生成,并且不会跨越设备拔出。

Returns
int the device's ID

getInputPortCount

Added in API level 23
int getInputPortCount ()

返回设备的输入端口数量。

Returns
int the number of input ports

getOutputPortCount

Added in API level 23
int getOutputPortCount ()

返回设备的输出端口数量。

Returns
int the number of output ports

getPorts

Added in API level 23
PortInfo[] getPorts ()

返回有关设备端口的信息。 端口未指定顺序。

Returns
PortInfo[] array of MidiDeviceInfo.PortInfo

getProperties

Added in API level 23
Bundle getProperties ()

返回包含设备属性的 Bundle

Returns
Bundle the device's properties

getType

Added in API level 23
int getType ()

返回设备的类型。

Returns
int the device's type

hashCode

Added in API level 23
int hashCode ()

返回对象的哈希码值。 为了散列表的好处而支持此方法,例如由HashMap提供的HashMap

一般合约 hashCode是:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the 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.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the 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.

isPrivate

Added in API level 23
boolean isPrivate ()

如果设备是私人的,则返回true。 私人设备仅对具有与托管设备的应用程序相同的UID的客户端可见和可访问。

Returns
boolean true if the device is private

toString

Added in API level 23
String toString ()

返回对象的字符串表示形式。 一般来说, toString方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”和对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

Added in API level 23
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.

Hooray!