Module java.desktop
Package javax.sound.midi

Class SoundbankResource

java.lang.Object
javax.sound.midi.SoundbankResource
直接已知的子类:
Instrument

public abstract class SoundbankResource extends Object
SoundbankResource表示存储在Soundbank中的任何音频资源。常见的声音库资源包括:
  • 乐器。可以以各种方式指定乐器。但是,所有声音库都有一些定义乐器的机制。在这样做时,它们可能引用声音库中存储的其他资源。每个乐器都有一个Patch,它指定了通过MIDI消息可以引用该乐器的MIDI程序和银行。乐器信息可以存储在Instrument对象中。
  • 音频样本。样本通常是包含短音频录音的采样音频波形,其持续时间为一秒的一部分,或者最多几秒。这些音频样本可以被Synthesizer用于响应MIDI命令合成声音,或者被应用程序提取使用。(术语反映了音乐家使用“样本”一词来指代一系列连续的音频样本或帧,而不是单个瞬时样本。)音频样本的数据类将是一个封装音频样本数据本身以及如何解释它的信息(音频数据的格式)的对象,例如AudioInputStream
  • 嵌入式序列。声音库可以包含存储在数据对象中的内置歌曲数据,例如Sequence
使用波表合成或相关技术的合成器在合成音符时播放样本中的音频,通常在模拟最初录制的真实乐器时。但是,在Soundbank中的Instruments和样本之间不一定有一对一的对应关系。单个Instrument可以使用多个SoundbankResources(通常用于不同音高或亮度的音符)。此外,多个Instrument可以使用相同的样本。
  • Constructor Details

    • SoundbankResource

      protected SoundbankResource(Soundbank soundBank, String name, Class<?> dataClass)
      从给定的声音库和波表索引构造一个新的SoundbankResource。(设置SoundbankResource的名称、采样音频数据和乐器是子类的责任。)
      参数:
      soundBank - 包含此SoundbankResource的声音库
      name - 样本的名称
      dataClass - 用于表示样本数据的类
      参见:
  • Method Details

    • getSoundbank

      public Soundbank getSoundbank()
      获取包含此SoundbankResource的声音库。
      返回:
      存储此SoundbankResource的声音库
    • getName

      public String getName()
      获取资源的名称。这通常应该是描述资源的字符串。
      返回:
      乐器的名称
    • getDataClass

      public Class<?> getDataClass()
      获取此样本用于表示其数据的类。由getData返回的对象将是此类。如果此SoundbankResource对象不支持直接访问其数据,则返回null
      返回:
      用于表示样本数据的类,如果数据不可访问则返回null
    • getData

      public abstract Object getData()
      获取存储在此SoundbankResource中的采样音频。返回的对象类型取决于具体类的实现,并可以使用getDataClass查询。
      返回:
      包含采样音频数据的对象
      参见: