|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.sound.midi
接口 Soundbank
-
public interface Soundbank
Soundbank
包含可加载到 Synthesizer
中的一组 Instruments
。注意,Java Sound Soundbank
不同于 MIDI 库。MIDI 允许有 16383 个库,每个库包含 128 种乐器(有时又称程序、包或音色)。但是,一个 Soundbank
可包含 16383 乘以 128 种乐器,因为 Soundbank
中的乐器按 MIDI 程序号和 MIDI 库号索引的(通过 Patch
对象)。因此,一个 Soundbank
可当作一组 MIDI 库。
Soundbank
包括了返回 String
对象的方法(该对象中包含音库名称、制造商、版本号和描述)。这些字符串的准确内容和格式留给实现程序掌握。
不同的合成器使用各种合成技巧。常见的一种合成技巧是波表合成,回放其中一个录制的声音段,通常使用循环和音高更改。Downloadable Sound (DLS) 格式使用录制的声音段,如同 Headspace Engine 一样。基于波表合成(或其他使用所存储的录制声音)的 Soundbanks
和 Instruments
通常应实现 getResources()
方法,以提供对这些录制段的访问。但是,这是可选的;如果合成技巧未使用采样声音(FM 合成和物理建模是这类技巧的示例),或者使用了采样声音但实现程序选择了使采样不可访问,则此方法可返回一个长度为零的数组。
- 另请参见:
-
Synthesizer.getDefaultSoundbank()
,Synthesizer.isSoundbankSupported(javax.sound.midi.Soundbank)
,Synthesizer.loadInstruments(Soundbank, Patch[])
,Patch
,Instrument
,SoundbankResource
方法摘要 | |
---|---|
String |
getDescription() 获得音库适于显示的文本描述。 |
Instrument |
getInstrument(Patch patch) 获得取自给定 Patch 的 Instrument 。 |
Instrument[] |
getInstruments() 获得包含在此音库中的乐器列表。 |
String |
getName() 获得音库的名称。 |
SoundbankResource[] |
getResources() 提取音库中包含的非乐器资源列表。 |
String |
getVendor() 获得命名提供此音库的公司的 string |
String |
getVersion() 获得音库的版本字符串。 |
方法详细信息 |
---|
getName
String getName()
- 获得音库的名称。
-
- 返回:
-
命名音库的
String
getVersion
String getVersion()
- 获得音库的版本字符串。
-
- 返回:
-
指示音库版本的
String
getVendor
String getVendor()
-
获得命名提供此音库的公司的
string
-
- 返回:
- 供应商字符串
getDescription
String getDescription()
- 获得音库适于显示的文本描述。
-
- 返回:
-
描述音库的
String
getResources
SoundbankResource[] getResources()
- 提取音库中包含的非乐器资源列表。
-
- 返回:
- 一个资源数组,不包含乐器。如果音库不包含任何资源(乐器除外),则返回长度为 0 的数组。
getInstruments
Instrument[] getInstruments()
- 获得包含在此音库中的乐器列表。
-
- 返回:
-
此
SoundBank
中的Instruments
的数组,如果音库中未包含任何乐器,则返回长度为 0 的数组。 - 另请参见:
-
Synthesizer.getLoadedInstruments()
,getInstrument(Patch)
getInstrument
Instrument getInstrument(Patch patch)
-
获得取自给定
Patch
的Instrument
。 -
- 参数:
-
patch
- 一个指定库索引和程序更改号的Patch
对象 - 返回:
-
所请求的乐器,如果音库中未包含任何乐器,则返回
null
- 另请参见:
-
getInstruments()
,Synthesizer.loadInstruments(Soundbank, Patch[])