java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.sound.midi
类 MidiMessage

java.lang.Object
  继承者 javax.sound.midi.MidiMessage
所有已实现的接口:
Cloneable
直接已知子类:
MetaMessage, ShortMessage, SysexMessage

public abstract class MidiMessage
extends Object
implements Cloneable

MidiMessage 是 MIDI 消息的基类。这些基类中不仅包含了合成器可响应的标准 MIDI 消息,还包含可供 sequencer 程序使用的“元事件”。还有针对类似歌词、版权、速度指示、时间和主要签名、制造者等信息的元事件。有关更多的信息,请参见 Standard MIDI Files 1.0 规范,它是由 MIDI 制造商协会 (http://www.midi.org) 发布的 Complete MIDI 1.0 Detailed Specification 的一部分。

MidiMessage 基类提供了对有关 MIDI 消息的三类信息的访问:

  • 消息的状态字节
  • 消息的总长度,以字节为单位(状态字节加数据字节)
  • 包含完整消息的 byte 数组
MidiMessage 包含了用于获取这些值的方法,但不包括用于设置这些值的方法。设置这些值是子类的任务。

MIDI 标准用字节表示 MIDI 数据。但是,由于 JavaTM 使用带符号字节,所以 Java Sound API 表示 MIDI 数据时使用整数而不是字节。例如,MidiMessagegetStatus() 方法返回用整数表示的 MIDI 状态字节。如果处理来源于 Java Sound 之外的 MIDI 数据,而现在又编码为带符号字节,可使用以下转换将字节转换为整数:

int i = (int)(byte & 0xFF)

如果只需要将一个已知 MIDI 字节值作为方法参数传递,则可使用(例如)十进制或十六进制符号直接将其表示为整数。例如,要传递“实际有意义的”状态字节作为 ShortMessage 的 setMessage(int) 方法的第一个参数,您可以将其表示为 254 或 0xFE。

另请参见:
Track, Sequence, Receiver

字段摘要
protected  byte[] data
          MIDI 消息数据。
protected  int length
          MIDI 消息中的字节数,包括状态字节和数据字节。
 
构造方法摘要
protected MidiMessage(byte[] data)
          构造一个新的 MidiMessage
 
方法摘要
abstract  Object clone()
          创建一个与此对象具有相同类和相同内容的新对象。
 int getLength()
          获得 MIDI 消息的总长度,以字节为单位。
 byte[] getMessage()
          获得 MIDI 消息数据。
 int getStatus()
          获得 MIDI 消息的状态字节。
protected  void setMessage(byte[] data, int length)
          为 MIDI 消息设置数据。
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

data

protected byte[] data
MIDI 消息数据。第一个字节是消息的状态字节;后面一直到消息长度字节为止的是此消息的数据字节。

另请参见:
getLength()

length

protected int length
MIDI 消息中的字节数,包括状态字节和数据字节。

另请参见:
getLength()
构造方法详细信息

MidiMessage

protected MidiMessage(byte[] data)
构造一个新的 MidiMessage。此受保护的构造方法由具体子类调用,具体子类应确保数据数组指定一个完整有效的 MIDI 消息。

参数:
data - 包含完整消息的 byte 数组。使用 setMessage 方法可更改消息数据。
另请参见:
setMessage(byte[], int)
方法详细信息

setMessage

protected void setMessage(byte[] data,
                          int length)
                   throws InvalidMidiDataException
为 MIDI 消息设置数据。此受保护的方法由具体子类调用,具体子类应确保数据数组指定一个完整有效的 MIDI 消息。

抛出:
InvalidMidiDataException

getMessage

public byte[] getMessage()
获得 MIDI 消息数据。返回的 byte 数组中的第一个字节是消息的状态字节。后面一直到消息长度字节为止的是数据字节。byte 数组的长度可能会大于实际消息的长度;消息总长度(以字节为单位)由 getLength() 方法报告。

返回:
包含完整的 MidiMessage 数据的 byte 数组

getStatus

public int getStatus()
获得 MIDI 消息的状态字节。以整数方式表示状态“字节”;请参见 MidiMessage 类描述中的讨论

返回:
此事件的状态字节的整数表示形式

getLength

public int getLength()
获得 MIDI 消息的总长度,以字节为单位。一个 MIDI 消息包含一个状态字节和零个或多个数据字节。返回值的范围:系统实时消息为 1,通道消息为 2 或 3,元和系统独占消息为任意值。

返回:
消息的长度,以字节为单位

clone

public abstract Object clone()
创建一个与此对象具有相同类和相同内容的新对象。

覆盖:
Object 中的 clone
返回:
此实例的一个副本。
另请参见:
Cloneable

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策