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
类 Track

java.lang.Object
  继承者 javax.sound.midi.Track

public class Track
extends Object

MIDI 音轨是一个可随其他音轨存储在标准 MIDI 文件中的独立的 MIDI 事件流(带时间戳的 MIDI 数据)。MIDI 规范只允许 16 通道的 MIDI 数据,音轨是一个绕过此限制的方法。一个 MIDI 文件可包含任何数量的音轨,每个音轨包含其自身的多达 16 个通道的 MIDI 数据流。

Track 占用 Sequencer 演奏的数据层次中的一个中间层。sequencer 演奏 sequence,它包含音轨,而音轨包含 MIDI 事件。Sequencer 可能提供 mute 或 solo 具体音轨的控制。

音轨的计时信息和精度由包含该音轨的 sequence 控制并存储在其中。给定的 Track 被当作属于维持其计时的特定的 Sequence。因此,新(空)音轨通过调用 Sequence.createTrack() 方法创建,而不是直接调用 Track 构造方法。

Track 类通过从其添加或移除 MidiEvent 对象提供了用于编辑音轨的方法。这些操作使事件列表保持正确的时间顺序。还包括用于获得有关其包含的事件数或刻度持续时间的音轨大小的方法。

另请参见:
Sequencer.setTrackMute(int, boolean), Sequencer.setTrackSolo(int, boolean)

方法摘要
 boolean add(MidiEvent event)
          将新事件添加至音轨。
 MidiEvent get(int index)
          获得位于指定索引处的事件。
 boolean remove(MidiEvent event)
          从音轨中移除指定的事件。
 int size()
          获得此音轨中的事件数。
 long ticks()
          获得音轨的长度,用 MIDI 刻度表示。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

add

public boolean add(MidiEvent event)
将新事件添加至音轨。如果事件已包含在音轨中,则不再添加。事件列表按时间顺序排列,这意味着此事件将插入到列表中的适当位置,而不一定是最后。

参数:
event - 要添加的事件
返回:
如果该事件在音轨中原先不存在并进行了添加,则返回 true,否则返回 false

remove

public boolean remove(MidiEvent event)
从音轨中移除指定的事件。

参数:
event - 要移除的事件
返回:
如果事件原先在音轨中存在但后来被移除,则返回 true,否则返回 false

get

public MidiEvent get(int index)
              throws ArrayIndexOutOfBoundsException
获得位于指定索引处的事件。

参数:
index - 事件向量中所需事件的位置
抛出:
ArrayIndexOutOfBoundsException - 如果指定的索引为负或小于此音轨的当前大小。
ArrayIndexOutOfBoundsException
另请参见:
size()

size

public int size()
获得此音轨中的事件数。

返回:
音轨的事件向量的大小

ticks

public long ticks()
获得音轨的长度,用 MIDI 刻度表示。(刻度持续的秒数由包含此音轨的 Sequence 的计时精度确定,同时也取决于由 sequencer 设置的音乐的节拍。)

返回:
持续时间,以刻度为单位
另请参见:
Sequence.Sequence(float, int), Sequencer.setTempoInBPM(float), Sequencer.getTickPosition()

JavaTM 2 Platform
Standard Ed. 5.0

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

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