【Minim】音乐加工厂:AudioInput 类
AudioInput 是神马?
AudioInput是与计算机当前记录源的连接。(注释:至于如何设置计算机的记录源,其取决于声卡和操作系统,用户通常可打开控制面板并在那里设置源。)
不幸的是,我们没有办法通过 Java 来设置记录源。 这一点在 Mac 上尤其成问题,因为即使用户使用音频控制面板设置好不同的输入,输入也总是会连接到 Mic-In。
倘若要从 Minim 获取AudioInput,你可以调用以下getLineIn方法其中的一个:
// 获取默认的 STEREO 输入
AudioInput getLineIn()
// type 指定 Minim.MONO 或 Minim.STEREO
AudioInput getLineIn(int type)
// bufferSize 是得到的输入缓冲区的大小值
AudioInput getLineIn(int type, int bufferSize)
// sampleRate 为采样率
AudioInput getLineIn(int type, int bufferSize, float sampleRate)
// bitDepth 为位深度
AudioInput getLineIn(int type, int bufferSize, float sampleRate, int bitDepth)
如果请求的参数不存在,Minim 则会报错并返回null。 故我们常用上面列出的前两种方法。
Related:
Minim
Example:
AudioInput 旗下:Fields
丈夫说:“以前我怕你得癌症,你真的得了,后来我怕你癌症复发,你真的复发了;现在我什么也不怕了,只希望你活着。” ——《浮生一日》
接下来,好吧,我们详细解释一番……
left——左声道
Description:
AudioBuffer包含左声道样本。若其为单声道声音,则其包含单声道音频。
Signature:
AudioBuffer left
Related:
Example:
mix——混合声道
Description:
AudioBuffer包含左右声道的混合样本。 若其为单声道声音,则mix包含与left相同的样本。
Signature:
AudioBuffer mix
Related:
Example:
right——右声道
Description:
AudioBuffer包含右声道样本。 若其为单声道声音,则right包含与left相同的样本。
Signature:
AudioBuffer right
Related:
Example:
AudioInput 旗下:Methods
活在当下,每天都是一生中最好的一天。——《浮生一日》
好吧,我们有些啥:
addListener()bufferSize()disableMonitoring()enableMonitoring()getBalance()getFormat()getGain()getPan()getVolume()isMonitoring()isMuted()mute()removeListener()sampleRate()setBalance()setGain()setPan()setVolume()shiftBalance()shiftGain()shiftPan()shiftVolume()type()unmute()
那么,我们知道些啥:
addListener()——兼听则明
Description:
添加一个AudioListener到声音以生成对象,每次该对象生成新的样本缓冲区,程序都会调用其的samples方法。
Signature:
void addListener(AudioListener listener)
Parameters:
listener — 将监听此的AudioListener
Returns:
None
Related:
Example:
bufferSize()——内部缓冲区大小
Description:
此声音对象的内部缓冲区大小。这是 left/right/mix AudioBuffers的大小,也是添加到此声音对象的AudioListeners的样本缓冲区的大小。
Signature:
int bufferSize()
Returns:
int:样本帧中,声音对象的内部缓冲区大小
Example:
disableMonitoring()——禁用监听
Description:
禁用监听时,你将无法听到通过输入传输的音频,但是你仍能够访问左/右/混合声道缓冲区中的样本。
这是AudioInput的默认状态,倘若输入是麦克风而输出是扬声器,你可能会用到它。否则:feedback。
Signature:
void disableMonitoring()
Returns:
None
Related:
enableMonitoring ( )
isMonitoring ( )
AudioInput
Example:
enableMonitoring()——启用监听
Description:
启用监听后,你将能够听到通过输入传来的音频。
Signature:
void enableMonitoring()
Returns:
None
Related:
disableMonitoring ( )
isMonitoring ( )
AudioInput
Example:
getBalance()——只可制衡不可掣肘
Description:
返回当前平衡值,其在 [-1,1] 范围内。
通常,平衡仅适用于立体声音频源,因为它描述了对左右声道各需应用多少衰减。 若是没有平衡控制,则程序不执行任何操作。
Signature:
float getBalance()
Returns:
float:若平衡控制不可用,则返回当前平衡值或零
Related:
setBalance ( )
shiftBalance ( )
Example:
None available
getFormat()——获取音频属性
Description:
返回一个AudioFormat对象,以描述此声音生成对象的音频属性。
在进行声音分析或某些综合时,这通常是有用的信息,但一般你不需要了解什么特殊的格式。
Signature:
AudioFormat getFormat()
Returns:
描述此声音对象的AudioFormat
Related:
Example:
getGain()——获取增益
Description:
返回当前增益。 如果增益控制不可用,则返回零。注意,增益与AudioBuffer的level()不同!
增益以分贝为单位描述声音的当前音量,这是一个对数而非线性的音阶。 增益为0dB时,表示声音未被放大或衰减。 负增益值会降低声音的音量,正值会增加声音的音量。
Signature:
float getGain()
Returns:
float:如果增益控制不可用,返回当前增益或零,增益以分贝表示
Related:
Example:
None available
getPan——获取平移
Description:
返回当前的平移值。
通常只有单声道音频源才能使用平移,因其描述了单声道信号在立体声场中的位置。其值将在 [-1,1] 范围内,其中-1表示将声音仅放在左扬声器中,1表示将声音仅放在右扬声器中。
Signature:
float getPan()
Returns:
float:如果平移控制不可用,返回当前平移值或零
Related:
Example:
None available
getVolume()——获取音量
Description:
返回当前音量。 如果音量控制不可用,则返回零。注意,音量与AudioBuffer的level()不同!
Signature:
float getVolume()
Returns:
float:如果音量控制不可用,则为当前音量或零
Related:
Example:
None available
isMonitoring()——是否监听
Description:
返回该AudioInput是否正在监听。换而言之,你是否能在扬声器中听到进入输入的音频。
Signature:
boolean isMonitoring()
Returns:
boolean:如果启用监听,则为true
Related:
enableMonitoring ( )
disableMonitoring ( )
AudioInput
Example:
isMuted()——是否静音
Description:
如果声音静音,则返回true。
Signature:
boolean isMuted()
Returns:
boolean:目前的静音状态
Related:
Example:
None available
mute()——静音吧
Description:
静音。
Signature:
void mute()
Returns:
None
Related:
Example:
None available
removeListener()——删除音频监听器
Description:
删除先前添加到此声音对象的AudioListener。
Signature:
void removeListener(AudioListener listener)
Parameters:
listener — 应该停止监听的AudioListener
Returns:
None
Related:
Example:
sampleRate()——获取采样率
Description:
返回此声音对象的采样率。
Signature:
float sampleRate()
Returns:
float:此声音对象的采样率
Related:
Example:
None available
setBalance()——设置平衡
Description:
设置平衡值。该值应在 [-1,1] 范围内。若是没有平衡控制,则程序不执行任何操作。
Signature:
void setBalance(float value)
Parameters:
value — float:新的平衡值
Returns:
None
Related:
getBalance ( )
shiftBalance ( )
Example:
None available
setGain()——设置增益
Description:
设置增益值。若是没有增益控制,则程序不执行任何操作。
Signature:
void setGain(float value)
Parameters:
value — float:新增益值,单位为分贝
Returns:
None
Related:
Example:
None available
setPan()——设置平移
Description:
设置平移值。其值应在 [-1,1] 范围内。若是没有平移控制,则程序不执行任何操作。
Signature:
void setPan(float value)
Parameters:
value — float:新平移值
Returns:
None
Related:
Example:
None available
setVolume()——设置音量
Description:
设置音量值。若是音量控制不可用,则程序不执行任何操作。
Signature:
void setVolume(float value)
Parameters:
value — float:新音量值,通常在 [0,1] 范围内
Returns:
None
Related:
Example:
None available
shiftBalance()——转换平衡
Description:
将平衡从一个值转换为另一个值。
Signature:
void shiftBalance(float from, float to, int millis)
Parameters:
from — float:起始平衡
to — float:最终平衡
millis — int:过渡时间,以毫秒为单位
Returns:
None
Related:
Example:
None available
shiftGain()——转换增益
Description:
将增益从一个值转换为另一个值。
Signature:
void shiftGain(float from, float to, int millis)
Parameters:
from — float:起始增益
to — float:最终增益
millis — int:过渡时间,以毫秒为单位
Returns:
None
Related:
Example:
None available
shiftPan()——转换平移
Description:
将平移从一个值转换为另一个值。
Signature:
void shiftPan(float from, float to, int millis)
Parameters:
from — float:起始平移
to — float:最终平移
millis — int:过渡时间,以毫秒为单位
Returns:
None
Related:
Example:
None available
shiftVolume()——转换音量
Description:
将音量从一个值转换为另一个值。
Signature:
void shiftVolume(float from, float to, int millis)
Parameters:
from — float:起始音量
to — float:最终音量
millis — int:过渡时间,以毫秒为单位
Returns:
None
Related:
Example:
None available
type()——通道数
Description:
类型是一个整数型,用于描述此声音对象具有的通道数。
Signature:
int type()
Returns:
若为单声道,Minim.MONO;若为立体声,Minim.STEREO
Related:
Example:
None available
unmute()——取消静音
Description:
取消静音。
Signature:
void unmute()
Returns:
None
Related:
Example:
None available

浙公网安备 33010602011771号