public class AudioManager
extends Object
java.lang.Object | |
↳ | android.media.AudioManager |
AudioManager提供对音量和铃声模式控制的访问。
使用 Context.getSystemService(Context.AUDIO_SERVICE)
获取此类的实例。
Nested classes |
|
---|---|
class |
AudioManager.AudioRecordingCallback 用于接收关于记录配置的更新通知的接口。 |
interface |
AudioManager.OnAudioFocusChangeListener 当更新系统的音频焦点时调用回调的接口定义。 |
Constants |
|
---|---|
String |
ACTION_AUDIO_BECOMING_NOISY 广播意图,对音频即将由于音频输出变化而变得“嘈杂”的应用程序提示。 |
String |
ACTION_HDMI_AUDIO_PLUG 广播动作:播放指示HDMI电缆的粘性广播插入或拔出。 |
String |
ACTION_HEADSET_PLUG 广播动作:插入有线耳机或拔下插头。 |
String |
ACTION_SCO_AUDIO_STATE_CHANGED 此常数在API级别14中已弃用。请改为使用 |
String |
ACTION_SCO_AUDIO_STATE_UPDATED 粘滞广播意图操作,指示bluetoooth SCO音频连接状态已更新。 |
int |
ADJUST_LOWER 降低铃声音量。 |
int |
ADJUST_MUTE 将音量静音。 |
int |
ADJUST_RAISE 增加铃声音量。 |
int |
ADJUST_SAME 保持以前的铃声音量。 |
int |
ADJUST_TOGGLE_MUTE 切换静音状态。 |
int |
ADJUST_UNMUTE 取消静音。 |
int |
AUDIOFOCUS_GAIN 用于指示音频焦点的增益或未知持续时间的音频焦点请求。 |
int |
AUDIOFOCUS_GAIN_TRANSIENT 用于指示临时增益或音频焦点的请求,预计会持续很短的时间。 |
int |
AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE 用于指示音频焦点的临时请求,预计会持续很短的时间,在此期间没有其他应用程序或系统组件应播放任何内容。 |
int |
AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK 用于指示音频焦点的临时请求,预计会持续很短的时间,以及其他音频应用程序在降低其输出级别(也称为“避免”)后继续播放的位置。 |
int |
AUDIOFOCUS_LOSS 用于指示未知持续时间的音频焦点丢失。 |
int |
AUDIOFOCUS_LOSS_TRANSIENT 用于指示音频焦点的瞬时丢失。 |
int |
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK 用于指示音频焦点的瞬时丢失,如果音频焦点的输出者想要继续播放(也称为“回避”),则输出音量的输出者可以降低其输出音量,因为新焦点所有者不需要其他人沉默。 |
int |
AUDIOFOCUS_REQUEST_FAILED 焦点更改请求失败。 |
int |
AUDIOFOCUS_REQUEST_GRANTED 成功关注变更请求。 |
int |
AUDIO_SESSION_ID_GENERATE 一个特殊的音频会话ID,用于指示音频会话ID未知,并且框架应该生成一个新值。 |
int |
ERROR 一个默认的错误代码。 |
int |
ERROR_DEAD_OBJECT 指示报告对象不再有效并需要重新创建的错误代码。 |
String |
EXTRA_AUDIO_PLUG_STATE 额外用于 |
String |
EXTRA_ENCODINGS 在 |
String |
EXTRA_MAX_CHANNEL_COUNT 额外用于 |
String |
EXTRA_RINGER_MODE 新的铃声模式。 |
String |
EXTRA_SCO_AUDIO_PREVIOUS_STATE 包含以前的蓝牙SCO连接状态的意图 |
String |
EXTRA_SCO_AUDIO_STATE 包含新的蓝牙SCO连接状态的意图 |
String |
EXTRA_VIBRATE_SETTING 此常数在API级别16中已弃用。应用程序应根据当前的振铃器模式维护其自己的振动策略,并听取 |
String |
EXTRA_VIBRATE_TYPE 此常数在API级别16中已弃用。应用程序应根据当前振铃模式维护其自己的振动策略,并改为听取 |
int |
FLAG_ALLOW_RINGER_MODES 在更改音量时是否包含铃声模式作为可能的选项。 |
int |
FLAG_PLAY_SOUND 更改音量时是否播放声音。 |
int |
FLAG_REMOVE_SOUND_AND_VIBRATE 删除可能在队列中或正在播放的任何声音/振动(与更改音量有关)。 |
int |
FLAG_SHOW_UI 显示包含当前音量的吐司。 |
int |
FLAG_VIBRATE 如果进入振动振铃模式,是否振动。 |
int |
FX_FOCUS_NAVIGATION_DOWN 焦点已经下移 |
int |
FX_FOCUS_NAVIGATION_LEFT 焦点已经向左移动 |
int |
FX_FOCUS_NAVIGATION_RIGHT 焦点已经向右移动 |
int |
FX_FOCUS_NAVIGATION_UP 焦点已经上升 |
int |
FX_KEYPRESS_DELETE IME删除按键声音 |
int |
FX_KEYPRESS_INVALID 无效的按键声音 |
int |
FX_KEYPRESS_RETURN IME return_keypress声音 |
int |
FX_KEYPRESS_SPACEBAR IME空格键按键声音 |
int |
FX_KEYPRESS_STANDARD IME标准按键声音 |
int |
FX_KEY_CLICK 键盘和方向键点击声音 |
int |
GET_DEVICES_ALL 指定 |
int |
GET_DEVICES_INPUTS 指定 |
int |
GET_DEVICES_OUTPUTS 指定 |
int |
MODE_CURRENT 当前音频模式。 |
int |
MODE_INVALID 无效的音频模式。 |
int |
MODE_IN_CALL 在通话音频模式下。 |
int |
MODE_IN_COMMUNICATION 在通信音频模式下。 |
int |
MODE_NORMAL 正常音频模式:不振铃,不建立呼叫。 |
int |
MODE_RINGTONE 振铃音频模式。 |
int |
NUM_STREAMS 此常数在API级别3中已弃用。请改用AudioSystem.getNumStreamTypes() |
String |
PROPERTY_OUTPUT_FRAMES_PER_BUFFER 用作 |
String |
PROPERTY_OUTPUT_SAMPLE_RATE 用作 |
String |
PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED 用作 |
String |
PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND 用作 |
String |
PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND 用作 |
String |
RINGER_MODE_CHANGED_ACTION 粘滞广播意图操作,表明振铃模式已更改。 |
int |
RINGER_MODE_NORMAL 铃声模式可能会发出声音并可能振动。 |
int |
RINGER_MODE_SILENT 林格模式,将沉默,不会振动。 |
int |
RINGER_MODE_VIBRATE 林肯模式,将沉默,并会振动。 |
int |
ROUTE_ALL 此常数在API级别5中已弃用。请勿直接设置音频路由,而应使用setSpeakerphoneOn(),setBluetoothScoOn()方法。 |
int |
ROUTE_BLUETOOTH 此常数在API级别3中已弃用。使用 |
int |
ROUTE_BLUETOOTH_A2DP 此常数在API级别5中已弃用。请勿直接设置音频路由,而应使用setSpeakerphoneOn(),setBluetoothScoOn()方法。 |
int |
ROUTE_BLUETOOTH_SCO 此常数在API级别5中已弃用。请勿直接设置音频路由,而应使用setSpeakerphoneOn(),setBluetoothScoOn()方法。 |
int |
ROUTE_EARPIECE 此常数在API级别5中已弃用。请勿直接设置音频路由,而应使用setSpeakerphoneOn(),setBluetoothScoOn()方法。 |
int |
ROUTE_HEADSET 此常数在API级别5中已弃用。请勿直接设置音频路由,而应使用setSpeakerphoneOn(),setBluetoothScoOn()方法。 |
int |
ROUTE_SPEAKER 此常数在API级别5中已弃用。请勿直接设置音频路由,而应使用setSpeakerphoneOn(),setBluetoothScoOn()方法。 |
int |
SCO_AUDIO_STATE_CONNECTED 额外值 |
int |
SCO_AUDIO_STATE_CONNECTING 额外EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE的值指示SCO音频通道正在建立 |
int |
SCO_AUDIO_STATE_DISCONNECTED 额外EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE的值指示SCO音频通道未建立 |
int |
SCO_AUDIO_STATE_ERROR 额外EXTRA_SCO_AUDIO_STATE的值表示尝试获取状态时发生错误 |
int |
STREAM_ALARM 警报的音频流 |
int |
STREAM_DTMF DTMF音频的音频流 |
int |
STREAM_MUSIC 用于音乐播放的音频流 |
int |
STREAM_NOTIFICATION 通知的音频流 |
int |
STREAM_RING 电话铃声的音频流 |
int |
STREAM_SYSTEM 系统声音的音频流 |
int |
STREAM_VOICE_CALL 用于电话呼叫的音频流 |
int |
USE_DEFAULT_STREAM_TYPE 建议使用默认流类型。 |
String |
VIBRATE_SETTING_CHANGED_ACTION 此常数在API级别16中已弃用。应用程序应根据当前振铃模式维护自己的振动策略,并听取 |
int |
VIBRATE_SETTING_OFF 此常数在API级别16中已弃用。应用程序应根据当前可通过 |
int |
VIBRATE_SETTING_ON 此常量在API级别16中已弃用。应用程序应根据当前可通过 |
int |
VIBRATE_SETTING_ONLY_SILENT 此常数在API级别16中已弃用。应用程序应根据当前可通过 |
int |
VIBRATE_TYPE_NOTIFICATION 此常数在API级别16中已弃用。应用程序应根据当前可通过 |
int |
VIBRATE_TYPE_RINGER 此常数在API级别16中已弃用。应用程序应根据当前可通过 |
Public methods |
|
---|---|
int |
abandonAudioFocus(AudioManager.OnAudioFocusChangeListener l) 放弃音频焦点。 |
void |
adjustStreamVolume(int streamType, int direction, int flags) 将某个特定流的音量调整一个方向一步。 |
void |
adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags) 调整最相关的流或给定的回退流的音量。 |
void |
adjustVolume(int direction, int flags) 调整最相关的流的音量。 |
void |
dispatchMediaKeyEvent(KeyEvent keyEvent) 发送媒体按钮的模拟按键事件。 |
int |
generateAudioSessionId() 返回与任何播放器或效果无关的新音频会话标识符。 |
List<AudioRecordingConfiguration> |
getActiveRecordingConfigurations() 返回设备的当前活动音频录制配置。 |
AudioDeviceInfo[] |
getDevices(int flags) 返回与当前连接到系统的音频设备对应的 |
int |
getMode() 返回当前的音频模式。 |
String |
getParameters(String keys) 从音频硬件获取可变数量的参数值。 |
String |
getProperty(String key) 用指定的键返回属性的值。 |
int |
getRingerMode() 返回当前的铃声模式。 |
int |
getRouting(int mode) 此方法在API级别4中已弃用。请勿直接查询音频路由,请改用isSpeakerphoneOn(),isBluetoothScoOn(),isBluetoothA2dpOn()和isWiredHeadsetOn()方法。 |
int |
getStreamMaxVolume(int streamType) 返回特定流的最大音量索引。 |
int |
getStreamVolume(int streamType) 返回特定流的当前音量索引。 |
int |
getVibrateSetting(int vibrateType) 此方法在API级别16中已弃用。应用程序应根据当前可通过 |
boolean |
isBluetoothA2dpOn() 检查到蓝牙耳机的A2DP音频路由是打开还是关闭。 |
boolean |
isBluetoothScoAvailableOffCall() 指示当前平台是否支持将SCO用于关闭呼叫用例。 |
boolean |
isBluetoothScoOn() 检查通讯是否使用蓝牙SCO。 |
boolean |
isMicrophoneMute() 检查麦克风静音是打开还是关闭。 |
boolean |
isMusicActive() 检查是否有音乐处于活动状态。 |
boolean |
isSpeakerphoneOn() 检查扬声器是打开还是关闭。 |
boolean |
isStreamMute(int streamType) 返回特定流的当前静音状态。 |
boolean |
isVolumeFixed() 指示设备是否实施固定量策略。 |
boolean |
isWiredHeadsetOn() 此方法在API级别14中已被弃用。仅用于检查是否连接了耳机。 |
void |
loadSoundEffects() 加载声音效果。 |
void |
playSoundEffect(int effectType) 发挥音效(键击,盖子打开/关闭...) |
void |
playSoundEffect(int effectType, float volume) 发挥音效(键击,盖子打开/关闭...) |
void |
registerAudioDeviceCallback(AudioDeviceCallback callback, Handler handler) 注册一个 |
void |
registerAudioRecordingCallback(AudioManager.AudioRecordingCallback cb, Handler handler) 通过 |
void |
registerMediaButtonEventReceiver(ComponentName eventReceiver) 此方法在API级别21中已弃用。请改为使用 |
void |
registerMediaButtonEventReceiver(PendingIntent eventReceiver) 此方法在API级别21中已弃用。请改为使用 |
void |
registerRemoteControlClient(RemoteControlClient rcClient) 此方法在API级别21中已弃用。请改为使用 |
boolean |
registerRemoteController(RemoteController rctlr) 此方法在API级别21中已弃用。请改用 |
int |
requestAudioFocus(AudioManager.OnAudioFocusChangeListener l, int streamType, int durationHint) 请求音频焦点。 |
void |
setBluetoothA2dpOn(boolean on) 此方法在API级别5中已弃用。请勿使用。 |
void |
setBluetoothScoOn(boolean on) 请求使用蓝牙SCO耳机进行通信。 |
void |
setMicrophoneMute(boolean on) 将麦克风静音设置为开或关。 |
void |
setMode(int mode) 设置音频模式。 |
void |
setParameters(String keyValuePairs) 为音频硬件设置可变数量的参数值。 |
void |
setRingerMode(int ringerMode) 设置铃声模式。 |
void |
setRouting(int mode, int routes, int mask) 此方法在API级别4中已弃用。请勿直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。 |
void |
setSpeakerphoneOn(boolean on) 开启或关闭扬声器。 |
void |
setStreamMute(int streamType, boolean state) 此方法在API级别23中已弃用。请改用 |
void |
setStreamSolo(int streamType, boolean state) 此方法在API级别23中已弃用。请勿使用。 如果您需要专用音频播放,请使用 |
void |
setStreamVolume(int streamType, int index, int flags) 设置特定流的音量索引。 |
void |
setVibrateSetting(int vibrateType, int vibrateSetting) 此方法在API级别16中已弃用。应用程序应根据当前可通过 |
void |
setWiredHeadsetOn(boolean on) 此方法在API级别5中已弃用。请勿使用。 |
boolean |
shouldVibrate(int vibrateType) 此方法在API级别16中已弃用。应用程序应基于当前可通过 |
void |
startBluetoothSco() 开始蓝牙SCO音频连接。 |
void |
stopBluetoothSco() 停止蓝牙SCO音频连接。 |
void |
unloadSoundEffects() 卸载声音效果。 |
void |
unregisterAudioDeviceCallback(AudioDeviceCallback callback) 注销的 |
void |
unregisterAudioRecordingCallback(AudioManager.AudioRecordingCallback cb) 注销先前用 |
void |
unregisterMediaButtonEventReceiver(PendingIntent eventReceiver) 此方法在API级别21中已弃用。请改为使用 |
void |
unregisterMediaButtonEventReceiver(ComponentName eventReceiver) 此方法在API级别21中已弃用。请改为使用 |
void |
unregisterRemoteControlClient(RemoteControlClient rcClient) 此方法在API级别21中已弃用。请改为使用 |
void |
unregisterRemoteController(RemoteController rctlr) 此方法在API级别21中已弃用。请改为使用 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String ACTION_AUDIO_BECOMING_NOISY
广播意图,对音频即将由于音频输出变化而变得“嘈杂”的应用程序提示。 例如,可以在拔下有线耳机或者A2DP音频接收器断开连接并且音频系统将自动将音频路由切换到扬声器时发送此意图。 正在控制音频流的应用程序可能会考虑暂停,减少音量或收到此意图时的其他操作,以免让用户从扬声器中听到音频。
常量值:“android.media.AUDIO_BECOMING_NOISY”
String ACTION_HDMI_AUDIO_PLUG
广播动作:播放指示HDMI电缆的粘性广播插入或拔出。 意图将有以下额外的值: EXTRA_AUDIO_PLUG_STATE
, EXTRA_MAX_CHANNEL_COUNT
, EXTRA_ENCODINGS
。
只能通过明确注册 registerReceiver(BroadcastReceiver, IntentFilter)
才能收到。
常量值:“android.media.action.HDMI_AUDIO_PLUG”
String ACTION_HEADSET_PLUG
广播动作:插入有线耳机或拔下插头。 您无法通过在清单中声明的组件收到此消息,只能通过Context.registerReceiver()
明确注册。
意图将具有以下额外的值:
常量值:“android.intent.action.HEADSET_PLUG”
String ACTION_SCO_AUDIO_STATE_CHANGED
此常数在API级别14中已弃用。
改为使用ACTION_SCO_AUDIO_STATE_UPDATED
粘滞广播意图操作,指示bluetoooth SCO音频连接状态已更改。 意图包含额外的EXTRA_SCO_AUDIO_STATE
指示新的状态是SCO_AUDIO_STATE_DISCONNECTED
或SCO_AUDIO_STATE_CONNECTED
也可以看看:
常量值:“android.media.SCO_AUDIO_STATE_CHANGED”
String ACTION_SCO_AUDIO_STATE_UPDATED
粘滞广播意图操作,指示bluetoooth SCO音频连接状态已更新。
这个意图有两个额外的:
EXTRA_SCO_AUDIO_STATE
- The new SCO audio state. EXTRA_SCO_AUDIO_PREVIOUS_STATE
- The previous SCO audio state. EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE可以是以下任何一种:
也可以看看:
常量值:“android.media.ACTION_SCO_AUDIO_STATE_UPDATED”
int ADJUST_SAME
保持以前的铃声音量。 当需要显示音量烤面包而不实际修改音量时,这可能很有用。
常量值:0(0x00000000)
int ADJUST_TOGGLE_MUTE
切换静音状态。 如果静音,流将被取消静音。 如果没有静音,流将被静音。
常量值:101(0x00000065)
int AUDIOFOCUS_GAIN
用于指示音频焦点的增益或未知持续时间的音频焦点请求。
常数值:1(0x00000001)
int AUDIOFOCUS_GAIN_TRANSIENT
用于指示临时增益或音频焦点的请求,预计会持续很短的时间。 临时改变的例子是行车路线的回放或事件通知。
常量值:2(0x00000002)
int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE
用于指示音频焦点的临时请求,预计会持续很短的时间,在此期间没有其他应用程序或系统组件应播放任何内容。 独占和瞬态音频焦点请求的示例是语音备忘录录音和语音识别,在此期间系统不应播放任何通知,媒体播放应暂停。
常量值:4(0x00000004)
int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
用于指示音频焦点的临时请求,预计会持续很短的时间,以及其他音频应用程序在降低其输出级别(也称为“避免”)后继续播放的位置。 暂时改变的例子是回放在背景中的音乐回放是可接受的行驶方向。
常量值:3(0x00000003)
int AUDIOFOCUS_LOSS
用于指示未知持续时间的音频焦点丢失。
也可以看看:
常量值:-1(0xffffffff)
int AUDIOFOCUS_LOSS_TRANSIENT
用于指示音频焦点的瞬时丢失。
也可以看看:
常量值:-2(0xfffffffe)
int AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
用于指示音频焦点的瞬时丢失,如果音频焦点的输出者想要继续播放(也称为“回避”),则输出音量的输出者可以降低其输出音量,因为新焦点所有者不需要其他人沉默。
也可以看看:
常量值:-3(0xfffffffd)
int AUDIOFOCUS_REQUEST_FAILED
焦点更改请求失败。
常量值:0(0x00000000)
int AUDIOFOCUS_REQUEST_GRANTED
成功关注变更请求。
常数值:1(0x00000001)
int AUDIO_SESSION_ID_GENERATE
一个特殊的音频会话ID,用于指示音频会话ID未知,并且框架应该生成一个新值。 当与AudioTrack(AudioAttributes, AudioFormat, int, int, int)
一起构建新的AudioTrack
实例时,可以使用此方法。
常量值:0(0x00000000)
int ERROR_DEAD_OBJECT
指示报告对象不再有效并需要重新创建的错误代码。
常量值:-6(0xfffffffa)
String EXTRA_AUDIO_PLUG_STATE
额外用于ACTION_HDMI_AUDIO_PLUG
以传达HDMI是插入还是拔出。 整数值1表示插入状态,0表示拔出。
常量值:“android.media.extra.AUDIO_PLUG_STATE”
String EXTRA_ENCODINGS
在ACTION_HDMI_AUDIO_PLUG
额外用于定义连接的HDMI设备支持的音频编码。 相应的编码值数组仅在插入设备时可用(如EXTRA_AUDIO_PLUG_STATE
)。 编码值在AudioFormat
中定义(例如参见ENCODING_PCM_16BIT
)。 使用getIntArrayExtra(String)
检索编码值。
常量值:“android.media.extra.ENCODINGS”
String EXTRA_MAX_CHANNEL_COUNT
额外用于ACTION_HDMI_AUDIO_PLUG
来定义HDMI设备支持的最大通道数量。 相应的整数值仅在设备插入时可用(由EXTRA_AUDIO_PLUG_STATE
表示)。
常量值:“android.media.extra.MAX_CHANNEL_COUNT”
String EXTRA_RINGER_MODE
新的铃声模式。
常量值:“android.media.EXTRA_RINGER_MODE”
String EXTRA_SCO_AUDIO_PREVIOUS_STATE
包含以前的蓝牙SCO连接状态的意图 ACTION_SCO_AUDIO_STATE_UPDATED
额外。
常量值:“android.media.extra.SCO_AUDIO_PREVIOUS_STATE”
String EXTRA_SCO_AUDIO_STATE
包含新的蓝牙SCO连接状态的意图 ACTION_SCO_AUDIO_STATE_CHANGED
或 ACTION_SCO_AUDIO_STATE_UPDATED
额外。
常量值:“android.media.extra.SCO_AUDIO_STATE”
String EXTRA_VIBRATE_SETTING
此常数在API级别16中已弃用。
应用程序应该基于当前的振铃模式维护自己的振动策略,并改为听取RINGER_MODE_CHANGED_ACTION
。
新的特定类型的振动设置。
也可以看看:
常量值:“android.media.EXTRA_VIBRATE_SETTING”
String EXTRA_VIBRATE_TYPE
此常数在API级别16中已弃用。
应用程序应该基于当前的振铃模式维护自己的振动策略,并听取RINGER_MODE_CHANGED_ACTION
。
振动类型的设置已更改。
常量值:“android.media.EXTRA_VIBRATE_TYPE”
int FLAG_ALLOW_RINGER_MODES
在更改音量时是否包含铃声模式作为可能的选项。 例如,如果真实和音量级别为0并且音量用ADJUST_LOWER
调整,则振铃模式可以切换静音模式或振动模式。
默认情况下,这对环流是开启的。 如果包含此标志,则无论流类型受到振铃器模式的影响,都会出现此行为。
常量值:2(0x00000002)
int FLAG_PLAY_SOUND
更改音量时是否播放声音。
如果给出了 adjustVolume(int, int)
或 adjustSuggestedStreamVolume(int, int, int)
,在某些情况下它可能会被忽略(例如,决定的流类型不是 STREAM_RING
,或者音量正在向下调整)。
常量值:4(0x00000004)
int FLAG_REMOVE_SOUND_AND_VIBRATE
删除可能在队列中或正在播放的任何声音/振动(与更改音量有关)。
常量值:8(0x00000008)
int FX_FOCUS_NAVIGATION_DOWN
焦点已经下移
也可以看看:
常量值:2(0x00000002)
int FX_FOCUS_NAVIGATION_LEFT
焦点已经向左移动
也可以看看:
常量值:3(0x00000003)
int FX_FOCUS_NAVIGATION_RIGHT
焦点已经向右移动
也可以看看:
常量值:4(0x00000004)
int FX_FOCUS_NAVIGATION_UP
焦点已经上升
也可以看看:
常数值:1(0x00000001)
int FX_KEYPRESS_RETURN
IME return_keypress声音
也可以看看:
常量值:8(0x00000008)
int FX_KEYPRESS_SPACEBAR
IME空格键按键声音
也可以看看:
常数值:6(0x00000006)
int FX_KEYPRESS_STANDARD
IME标准按键声音
也可以看看:
常量值:5(0x00000005)
int GET_DEVICES_ALL
指定 getDevices(int)
方法以包括源设备和宿设备。
常量值:3(0x00000003)
int GET_DEVICES_INPUTS
指定 getDevices(int)
方法以包含源(即输入)音频设备。
常数值:1(0x00000001)
int GET_DEVICES_OUTPUTS
指定 getDevices(int)
方法以包含信宿(即输出)音频设备。
常量值:2(0x00000002)
int MODE_IN_COMMUNICATION
在通信音频模式下。 音频/视频聊天或VoIP呼叫建立。
常量值:3(0x00000003)
int NUM_STREAMS
此常数在API级别3中已弃用。
改用AudioSystem.getNumStreamTypes()
常量值:5(0x00000005)
String PROPERTY_OUTPUT_FRAMES_PER_BUFFER
用作 getProperty(String)
的密钥,用于请求本设备主输出流的本地或最佳输出缓冲区大小,以十进制PCM帧为单位。
常量值:“android.media.property.OUTPUT_FRAMES_PER_BUFFER”
String PROPERTY_OUTPUT_SAMPLE_RATE
用作 getProperty(String)
的密钥,以请求本设备主输出流的本机或最佳输出采样率(以十进制Hz为单位)。
常量值:“android.media.property.OUTPUT_SAMPLE_RATE”
String PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED
用作 getProperty(String)
的键,以确定未处理的音频源是否可用,并且是否支持预期的频率范围和级别响应。
常量值:“android.media.property.SUPPORT_AUDIO_SOURCE_UNPROCESSED”
String PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND
用作 getProperty(String)
的键,以确定默认麦克风音频源是否支持接近超声波频率(范围为18 - 21 kHz)。
常量值:“android.media.property.SUPPORT_MIC_NEAR_ULTRASOUND”
String PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND
用作 getProperty(String)
的键以确定默认扬声器音频路径是否支持接近超声频率(范围为18 - 21 kHz)。
常量值:“android.media.property.SUPPORT_SPEAKER_NEAR_ULTRASOUND”
String RINGER_MODE_CHANGED_ACTION
粘滞广播意图操作,表明振铃模式已更改。 包括新的铃声模式。
也可以看看:
常量值:“android.media.RINGER_MODE_CHANGED”
int RINGER_MODE_NORMAL
铃声模式可能会发出声音并可能振动。 如果在更换此模式之前的音量可以听到,则会发出声音。 如果振动设置打开,它会振动。
常量值:2(0x00000002)
int RINGER_MODE_SILENT
林格模式,将沉默,不会振动。 (这会覆盖振动设置。)
常量值:0(0x00000000)
int RINGER_MODE_VIBRATE
林肯模式,将沉默,并会振动。 (这会导致电话铃声总是振动,但是如果设置,通知振动只会振动。)
常数值:1(0x00000001)
int ROUTE_ALL
此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
用于掩码参数 setRouting(int, int, int)
。
常量值:-1(0xffffffff)
int ROUTE_BLUETOOTH
此常数在API级别3中已弃用。
使用ROUTE_BLUETOOTH_SCO
请勿直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
常量值:4(0x00000004)
int ROUTE_BLUETOOTH_A2DP
此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
路由音频输出到蓝牙A2DP
常量值:16(0x00000010)
int ROUTE_BLUETOOTH_SCO
此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
将音频输出路由到蓝牙SCO
常量值:4(0x00000004)
int ROUTE_EARPIECE
此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
将音频输出路由到耳机
常数值:1(0x00000001)
int ROUTE_HEADSET
此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
将音频输出路由至耳机
常量值:8(0x00000008)
int ROUTE_SPEAKER
此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
将音频输出路由到扬声器
常量值:2(0x00000002)
int SCO_AUDIO_STATE_CONNECTED
额外值 EXTRA_SCO_AUDIO_STATE
或 EXTRA_SCO_AUDIO_PREVIOUS_STATE
指示SCO音频通道已建立
常数值:1(0x00000001)
int SCO_AUDIO_STATE_CONNECTING
额外EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE的值指示SCO音频通道正在建立
常量值:2(0x00000002)
int SCO_AUDIO_STATE_DISCONNECTED
额外EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE的值指示SCO音频通道未建立
常量值:0(0x00000000)
int SCO_AUDIO_STATE_ERROR
额外EXTRA_SCO_AUDIO_STATE的值表示尝试获取状态时发生错误
常量值:-1(0xffffffff)
int USE_DEFAULT_STREAM_TYPE
建议使用默认流类型。 这可能不会在所有需要流类型的地方使用。
常量值:-2147483648(0x80000000)
String VIBRATE_SETTING_CHANGED_ACTION
此常数在API级别16中已弃用。
应用程序应该基于当前的振铃模式保持自己的振动策略,并听取RINGER_MODE_CHANGED_ACTION
。
广播意图操作指示振动设置已更改。 包含振动类型及其新设置。
常量值:“android.media.VIBRATE_SETTING_CHANGED”
int VIBRATE_SETTING_OFF
此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
振动设置,表明永不振动。
常量值:0(0x00000000)
int VIBRATE_SETTING_ON
此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
振动设置,建议尽可能振动。
常数值:1(0x00000001)
int VIBRATE_SETTING_ONLY_SILENT
此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
振动设置,建议仅在振动铃声模式下振动。
常量值:2(0x00000002)
int VIBRATE_TYPE_NOTIFICATION
此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
与通知相对应的振动类型。
常数值:1(0x00000001)
int VIBRATE_TYPE_RINGER
此常数在API级别16中已弃用。
应用程序应该基于当前可以通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
与铃声相对应的振动类型。
常量值:0(0x00000000)
int abandonAudioFocus (AudioManager.OnAudioFocusChangeListener l)
放弃音频焦点。 导致以前的焦点所有者(如果有的话)获得焦点。
Parameters | |
---|---|
l |
AudioManager.OnAudioFocusChangeListener : the listener with which focus was requested. |
Returns | |
---|---|
int |
AUDIOFOCUS_REQUEST_FAILED or AUDIOFOCUS_REQUEST_GRANTED |
void adjustStreamVolume (int streamType, int direction, int flags)
将某个特定流的音量调整一个方向一步。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
Parameters | |
---|---|
streamType |
int : The stream type to adjust. One of STREAM_VOICE_CALL , STREAM_SYSTEM , STREAM_RING , STREAM_MUSIC or STREAM_ALARM |
direction |
int : The direction to adjust the volume. One of ADJUST_LOWER , ADJUST_RAISE , or ADJUST_SAME . |
flags |
int : One or more flags. |
void adjustSuggestedStreamVolume (int direction, int suggestedStreamType, int flags)
调整最相关的流或给定的回退流的音量。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
如果设备执行 isVolumeFixed()
所示的固定卷策略,则此方法 isVolumeFixed()
。
Parameters | |
---|---|
direction |
int : The direction to adjust the volume. One of ADJUST_LOWER , ADJUST_RAISE , ADJUST_SAME , ADJUST_MUTE , ADJUST_UNMUTE , or ADJUST_TOGGLE_MUTE . |
suggestedStreamType |
int : The stream type that will be used if there isn't a relevant stream. USE_DEFAULT_STREAM_TYPE is valid here. |
flags |
int : One or more flags. |
void adjustVolume (int direction, int flags)
调整最相关的流的音量。 例如,如果呼叫处于活动状态,则无论是否显示通话中屏幕,它都将具有最高优先级。 另外一个例子,如果音乐在后台播放,而且通话未激活,音乐流将被调整。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
如果设备执行 isVolumeFixed()
所示的固定卷策略,则此方法 isVolumeFixed()
。
Parameters | |
---|---|
direction |
int : The direction to adjust the volume. One of ADJUST_LOWER , ADJUST_RAISE , ADJUST_SAME , ADJUST_MUTE , ADJUST_UNMUTE , or ADJUST_TOGGLE_MUTE . |
flags |
int : One or more flags. |
void dispatchMediaKeyEvent (KeyEvent keyEvent)
发送媒体按钮的模拟按键事件。 为了模拟一个按键,你必须首先发送带有内置的KeyEvent ACTION_DOWN
动作,然后用另一个事件ACTION_UP
行动。
该关键事件将被发送到当前媒体键事件消费者,其以 registerMediaButtonEventReceiver(PendingIntent)
注册。
Parameters | |
---|---|
keyEvent |
KeyEvent : a KeyEvent instance whose key code is one of KEYCODE_MUTE , KEYCODE_HEADSETHOOK , KEYCODE_MEDIA_PLAY , KEYCODE_MEDIA_PAUSE , KEYCODE_MEDIA_PLAY_PAUSE , KEYCODE_MEDIA_STOP , KEYCODE_MEDIA_NEXT , KEYCODE_MEDIA_PREVIOUS , KEYCODE_MEDIA_REWIND , KEYCODE_MEDIA_RECORD , KEYCODE_MEDIA_FAST_FORWARD , KEYCODE_MEDIA_CLOSE , KEYCODE_MEDIA_EJECT , or KEYCODE_MEDIA_AUDIO_TRACK . |
int generateAudioSessionId ()
返回与任何播放器或效果无关的新音频会话标识符。 音频会话标识符是一组音频流(一个或多个混合在一起)的系统范围唯一标识符。
音频会话ID的主要用途是将音频效果与音频播放器相关联,如 MediaPlayer
或 AudioTrack
:共享相同音频会话ID的所有音频效果将应用于共享相同音频会话的播放器的混合音频内容。
例如,在创建一个 AudioEffect
对象以定义效果的音频会话或在 TextToSpeech.Engine
为语音合成话语指定会话时,可以使用此方法。
Returns | |
---|---|
int |
a new unclaimed and unused audio session identifier, or ERROR when the system failed to generate a new session, a condition in which audio playback or recording will subsequently fail as well. |
List<AudioRecordingConfiguration> getActiveRecordingConfigurations ()
返回设备的当前活动音频录制配置。
Returns | |
---|---|
List<AudioRecordingConfiguration> |
a non-null list of recording configurations. An empty list indicates there is no recording active when queried. |
也可以看看:
AudioDeviceInfo[] getDevices (int flags)
返回与当前连接到系统的音频设备对应的 AudioDeviceInfo
对象数组,并且满足 flags
参数中指定的条件。
Parameters | |
---|---|
flags |
int : A set of bitflags specifying the criteria to test. |
Returns | |
---|---|
AudioDeviceInfo[] |
A (possibly zero-length) array of AudioDeviceInfo objects. |
int getMode ()
返回当前的音频模式。
Returns | |
---|---|
int |
the current audio mode (MODE_NORMAL , MODE_RINGTONE , MODE_IN_CALL or MODE_IN_COMMUNICATION ). Returns the current current audio state from the HAL. |
String getParameters (String keys)
从音频硬件获取可变数量的参数值。
Parameters | |
---|---|
keys |
String : list of parameters |
Returns | |
---|---|
String |
list of parameters key value pairs in the form: key1=value1;key2=value2;... |
String getProperty (String key)
用指定的键返回属性的值。
Parameters | |
---|---|
key |
String : One of the strings corresponding to a property key: either PROPERTY_OUTPUT_SAMPLE_RATE , PROPERTY_OUTPUT_FRAMES_PER_BUFFER , PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND , PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND , or PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED . |
Returns | |
---|---|
String |
A string representing the associated value for that property key, or null if there is no value for that key. |
int getRingerMode ()
返回当前的铃声模式。
Returns | |
---|---|
int |
The current ringtone mode, one of RINGER_MODE_NORMAL , RINGER_MODE_SILENT , or RINGER_MODE_VIBRATE . |
也可以看看:
int getRouting (int mode)
此方法在API级别4中已弃用。
不要直接查询音频路由,请使用isSpeakerphoneOn(),isBluetoothScoOn(),isBluetoothA2dpOn()和isWiredHeadsetOn()方法。
返回指定模式的当前音频路由位向量。
Parameters | |
---|---|
mode |
int : audio mode to get route (e.g., MODE_RINGTONE) |
Returns | |
---|---|
int |
an audio route bit vector that can be compared with ROUTE_xxx bits |
int getStreamMaxVolume (int streamType)
返回特定流的最大音量索引。
Parameters | |
---|---|
streamType |
int : The stream type whose maximum volume index is returned. |
Returns | |
---|---|
int |
The maximum valid volume index for the stream. |
也可以看看:
int getStreamVolume (int streamType)
返回特定流的当前音量索引。
Parameters | |
---|---|
streamType |
int : The stream type whose volume index is returned. |
Returns | |
---|---|
int |
The current volume index for the stream. |
int getVibrateSetting (int vibrateType)
此方法在API级别16中已被弃用。
应用程序应该基于当前可通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
返回用户的振动设置是否为振动类型。
大多数想要振动的客户不应该需要这个,而应该参考 shouldVibrate(int)
。
Parameters | |
---|---|
vibrateType |
int : The type of vibrate. One of VIBRATE_TYPE_NOTIFICATION or VIBRATE_TYPE_RINGER . |
Returns | |
---|---|
int |
The vibrate setting, one of VIBRATE_SETTING_ON , VIBRATE_SETTING_OFF , or VIBRATE_SETTING_ONLY_SILENT . |
boolean isBluetoothA2dpOn ()
检查到蓝牙耳机的A2DP音频路由是打开还是关闭。
Returns | |
---|---|
boolean |
true if A2DP audio is being routed to/from Bluetooth headset; false if otherwise |
boolean isBluetoothScoAvailableOffCall ()
指示当前平台是否支持将SCO用于关闭呼叫用例。 应用程序希望在手机未处于通话状态时使用蓝牙SCO音频,必须先调用此方法以确保该平台支持此功能。
Returns | |
---|---|
boolean |
true if bluetooth SCO can be used for audio when not in call false otherwise |
也可以看看:
boolean isBluetoothScoOn ()
检查通讯是否使用蓝牙SCO。
Returns | |
---|---|
boolean |
true if SCO is used for communications; false if otherwise |
boolean isMicrophoneMute ()
检查麦克风静音是打开还是关闭。
Returns | |
---|---|
boolean |
true if microphone is muted, false if it's not |
boolean isMusicActive ()
检查是否有音乐处于活动状态。
Returns | |
---|---|
boolean |
true if any music tracks are active. |
boolean isSpeakerphoneOn ()
检查扬声器是打开还是关闭。
Returns | |
---|---|
boolean |
true if speakerphone is on, false if it's off |
boolean isStreamMute (int streamType)
返回特定流的当前静音状态。
Parameters | |
---|---|
streamType |
int : The stream to get mute state for. |
Returns | |
---|---|
boolean |
The mute state for the given stream. |
boolean isVolumeFixed ()
指示设备是否实施固定量策略。
某些设备可能没有音量控制,并且可能以固定音量运行,并且可能无法启用静音或更改音频流的音量。 此方法将在此类设备上返回true。
体积修复时,以下API无效:
adjustVolume(int, int)
adjustSuggestedStreamVolume(int, int, int)
adjustStreamVolume(int, int, int)
setStreamVolume(int, int, int)
setRingerMode(int)
setStreamSolo(int, boolean)
setStreamMute(int, boolean)
Returns | |
---|---|
boolean |
boolean isWiredHeadsetOn ()
此方法在API级别14中已弃用。
仅用于检查是否连接了耳机。
检查有线耳机是否连接。
这不是一个有效的指示,因为音频路由取决于其他条件,音频播放实际上是通过有线耳机。
Returns | |
---|---|
boolean |
true if a wired headset is connected. false if otherwise |
void playSoundEffect (int effectType)
发挥音效(键击,盖子打开/关闭...)
Parameters | |
---|---|
effectType |
int : The type of sound effect. One of FX_KEY_CLICK , FX_FOCUS_NAVIGATION_UP , FX_FOCUS_NAVIGATION_DOWN , FX_FOCUS_NAVIGATION_LEFT , FX_FOCUS_NAVIGATION_RIGHT , FX_KEYPRESS_STANDARD , FX_KEYPRESS_SPACEBAR , FX_KEYPRESS_DELETE , FX_KEYPRESS_RETURN , FX_KEYPRESS_INVALID , NOTE: This version uses the UI settings to determine whether sounds are heard or not. |
void playSoundEffect (int effectType, float volume)
发挥音效(键击,盖子打开/关闭...)
Parameters | |
---|---|
effectType |
int : The type of sound effect. One of FX_KEY_CLICK , FX_FOCUS_NAVIGATION_UP , FX_FOCUS_NAVIGATION_DOWN , FX_FOCUS_NAVIGATION_LEFT , FX_FOCUS_NAVIGATION_RIGHT , FX_KEYPRESS_STANDARD , FX_KEYPRESS_SPACEBAR , FX_KEYPRESS_DELETE , FX_KEYPRESS_RETURN , FX_KEYPRESS_INVALID , |
volume |
float : Sound effect volume. The volume value is a raw scalar so UI controls should be scaled logarithmically. If a volume of -1 is specified, the AudioManager.STREAM_MUSIC stream volume minus 3dB will be used. NOTE: This version is for applications that have their own settings panel for enabling and controlling volume. |
void registerAudioDeviceCallback (AudioDeviceCallback callback, Handler handler)
注册一个 AudioDeviceCallback
对象,以接收有关所连接音频设备集的更改通知。
Parameters | |
---|---|
callback |
AudioDeviceCallback : The AudioDeviceCallback object to receive connect/disconnect notifications. |
handler |
Handler : Specifies the Handler object for the thread on which to execute the callback. If null , the Handler associated with the main Looper will be used. |
void registerAudioRecordingCallback (AudioManager.AudioRecordingCallback cb, Handler handler)
通过 AudioManager.AudioRecordingCallback
注册回调以通知录音更改
Parameters | |
---|---|
cb |
AudioManager.AudioRecordingCallback : non-null callback to register |
handler |
Handler : the Handler object for the thread on which to execute the callback. If null , the Handler associated with the main Looper will be used. |
void registerMediaButtonEventReceiver (ComponentName eventReceiver)
此方法在API级别21中已弃用。
改为使用setMediaButtonReceiver(PendingIntent)
。
注册一个组件作为MEDIA_BUTTON意图的唯一接收者。
Parameters | |
---|---|
eventReceiver |
ComponentName : identifier of a BroadcastReceiver that will receive the media button intent. This broadcast receiver must be declared in the application manifest. The package of the component must match that of the context you're registering from. |
void registerMediaButtonEventReceiver (PendingIntent eventReceiver)
此方法在API级别21中已弃用。
改为使用setMediaButtonReceiver(PendingIntent)
。
注册一个组件作为MEDIA_BUTTON意图的唯一接收者。 这就像registerMediaButtonEventReceiver(android.content.ComponentName)
,但允许按钮转到任何PendingIntent。 请注意,如果您知道您将继续全时运行,直到取消注册PendingIntent,则只应使用此表单。
Parameters | |
---|---|
eventReceiver |
PendingIntent : target that will receive media button intents. The PendingIntent will be sent an ACTION_MEDIA_BUTTON event when a media button action occurs, with EXTRA_KEY_EVENT added and holding the key code of the media button that was pressed. |
void registerRemoteControlClient (RemoteControlClient rcClient)
此方法在API级别21中已弃用。
改为使用MediaSession
。
注册遥控器客户端以提供信息以显示在遥控器上。
Parameters | |
---|---|
rcClient |
RemoteControlClient : The remote control client from which remote controls will receive information to display. |
也可以看看:
boolean registerRemoteController (RemoteController rctlr)
此方法在API级别21中已弃用。
改为使用addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, ComponentName)
和MediaController
。
注册一个 RemoteController
实例,以便从应用程序使用 RemoteControlClient
接收媒体元数据更新和播放状态信息,并控制其播放。
注册要求 RemoteController.OnClientUpdateListener
侦听器是启用的通知侦听器之一(请参阅 NotificationListenerService
)。
Parameters | |
---|---|
rctlr |
RemoteController : the object to register. |
Returns | |
---|---|
boolean |
true if the RemoteController was successfully registered, false if an error occurred, due to an internal system error, or insufficient permissions. |
int requestAudioFocus (AudioManager.OnAudioFocusChangeListener l, int streamType, int durationHint)
请求音频焦点。 发送请求以获取音频焦点
Parameters | |
---|---|
l |
AudioManager.OnAudioFocusChangeListener : the listener to be notified of audio focus changes |
streamType |
int : the main audio stream type affected by the focus request |
durationHint |
int : use AUDIOFOCUS_GAIN_TRANSIENT to indicate this focus request is temporary, and focus will be abandonned shortly. Examples of transient requests are for the playback of driving directions, or notifications sounds. Use AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK to indicate also that it's ok for the previous focus owner to keep playing if it ducks its audio output. Alternatively use AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE for a temporary request that benefits from the system not playing disruptive sounds like notifications, for usecases such as voice memo recording, or speech recognition. Use AUDIOFOCUS_GAIN for a focus request of unknown duration such as the playback of a song or a video. |
Returns | |
---|---|
int |
AUDIOFOCUS_REQUEST_FAILED or AUDIOFOCUS_REQUEST_GRANTED |
void setBluetoothA2dpOn (boolean on)
此方法在API级别5中已被弃用。
不使用。
Parameters | |
---|---|
on |
boolean : set true to route A2DP audio to/from Bluetooth headset; false disable A2DP audio |
void setBluetoothScoOn (boolean on)
请求使用蓝牙SCO耳机进行通信。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
Parameters | |
---|---|
on |
boolean : set true to use bluetooth SCO for communications; false to not use bluetooth SCO for communications |
void setMicrophoneMute (boolean on)
将麦克风静音设置为开或关。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
Parameters | |
---|---|
on |
boolean : set true to mute the microphone; false to turn mute off |
void setMode (int mode)
设置音频模式。
音频模式包括音频路由和电话层的行为。 因此,此方法仅适用于取代音频设置或主电话应用程序的平台范围管理的应用程序。 特别是, MODE_IN_CALL
模式只能在电话应用程序拨打电话时使用,因为它会导致来自无线电层的信号馈送到平台混音器。
Parameters | |
---|---|
mode |
int : the requested audio mode (MODE_NORMAL , MODE_RINGTONE , MODE_IN_CALL or MODE_IN_COMMUNICATION ). Informs the HAL about the current audio state so that it can route the audio appropriately. |
void setParameters (String keyValuePairs)
为音频硬件设置可变数量的参数值。
Parameters | |
---|---|
keyValuePairs |
String : list of parameters key value pairs in the form: key1=value1;key2=value2;... |
void setRingerMode (int ringerMode)
设置铃声模式。
静音模式会使音量静音并不会振动。 振动模式会使音量静音并震动。 正常模式会听到并可能根据用户设置振动。
如果设备执行isVolumeFixed()
所示的固定卷策略,则此方法isVolumeFixed()
。 *
从N开始,除非应用程序已被授予请勿打扰访问权限,否则不允许触发免打扰的振铃模式调整。 见isNotificationPolicyAccessGranted()
。
Parameters | |
---|---|
ringerMode |
int : The ringer mode, one of RINGER_MODE_NORMAL , RINGER_MODE_SILENT , or RINGER_MODE_VIBRATE . |
也可以看看:
void setRouting (int mode, int routes, int mask)
此方法在API级别4中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。
设置指定模式的音频路由
Parameters | |
---|---|
mode |
int : audio mode to change route. E.g., MODE_RINGTONE. |
routes |
int : bit vector of routes requested, created from one or more of ROUTE_xxx types. Set bits indicate that route should be on |
mask |
int : bit vector of routes to change, created from one or more of ROUTE_xxx types. Unset bits indicate the route should be left unchanged |
void setSpeakerphoneOn (boolean on)
开启或关闭扬声器。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
Parameters | |
---|---|
on |
boolean : set true to turn on speakerphone; false to turn it off |
void setStreamMute (int streamType, boolean state)
此方法在API级别23中已弃用。
改为使用adjustStreamVolume(int, int, int)
和ADJUST_MUTE
或ADJUST_UNMUTE
。
静音或取消静音音频流。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
如果设备执行 isVolumeFixed()
所示的固定卷策略,则此方法 isVolumeFixed()
。
此方法在API级别22中已弃用。在API级别22之前,此方法具有明显不同的行为,应谨慎使用。 以下内容仅适用于22岁以前的平台:
Parameters | |
---|---|
streamType |
int : The stream to be muted/unmuted. |
state |
boolean : The required mute state: true for mute ON, false for mute OFF |
也可以看看:
void setStreamSolo (int streamType, boolean state)
此方法在API级别23中已弃用。
不使用。 如果您需要专用音频播放,请使用requestAudioFocus(AudioManager.OnAudioFocusChangeListener, int, int)
。
独奏或取消某个特定的流。
不使用。 这种方法已被弃用,现在是禁用的。 requestAudioFocus(AudioManager.OnAudioFocusChangeListener, int, int)
应该用于独家音频播放。
Parameters | |
---|---|
streamType |
int : The stream to be soloed/unsoloed. |
state |
boolean : The required solo state: true for solo ON, false for solo OFF |
也可以看看:
void setStreamVolume (int streamType, int index, int flags)
设置特定流的音量索引。
如果设备执行 isVolumeFixed()
所示的固定卷策略,则此方法 isVolumeFixed()
。
从N开始,除非应用程序已被授予请勿打扰访问权限,否则不允许切换“请勿打扰”的音量调节。 见isNotificationPolicyAccessGranted()
。
Parameters | |
---|---|
streamType |
int : The stream whose volume index should be set. |
index |
int : The volume index to set. See getStreamMaxVolume(int) for the largest valid value. |
flags |
int : One or more flags. |
void setVibrateSetting (int vibrateType, int vibrateSetting)
此方法在API级别16中已被弃用。
应用程序应该基于当前可通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
设置振动类型应该振动的设置。
此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。
Parameters | |
---|---|
vibrateType |
int : The type of vibrate. One of VIBRATE_TYPE_NOTIFICATION or VIBRATE_TYPE_RINGER . |
vibrateSetting |
int : The vibrate setting, one of VIBRATE_SETTING_ON , VIBRATE_SETTING_OFF , or VIBRATE_SETTING_ONLY_SILENT . |
void setWiredHeadsetOn (boolean on)
此方法在API级别5中已被弃用。
不使用。
将音频路由设置为开启或关闭有线耳机。
Parameters | |
---|---|
on |
boolean : set true to route audio to/from wired headset; false disable wired headset audio |
boolean shouldVibrate (int vibrateType)
此方法在API级别16中已被弃用。
应用程序应该基于当前可通过getRingerMode()
查询的振铃器模式维护自己的振动策略。
根据用户设置和当前的铃声模式返回特定类型是否应该振动。
大多数使用通知进行振动的客户都不需要这样做。 如果策略不允许,通知管理器不会振动,所以客户端应始终设置振动模式,并让通知管理器控制是否实际振动。
Parameters | |
---|---|
vibrateType |
int : The type of vibrate. One of VIBRATE_TYPE_NOTIFICATION or VIBRATE_TYPE_RINGER . |
Returns | |
---|---|
boolean |
Whether the type should vibrate at the instant this method is called. |
void startBluetoothSco ()
开始蓝牙SCO音频连接。
需要许可: MODIFY_AUDIO_SETTINGS
。
这种方法可用于希望在电话未处于通话状态时向/从蓝牙SCO耳机发送和接收音频的应用程序。
由于SCO连接建立可能需要几秒钟,因此应用程序不应该依赖连接在方法返回时可用,而是注册接收意图 ACTION_SCO_AUDIO_STATE_UPDATED
并等待状态为 SCO_AUDIO_STATE_CONNECTED
。
由于ACTION_SCO_AUDIO_STATE_UPDATED意图很粘,应用程序可以在调用startBluetoothSco()之前通过读取接收者注册返回的意图来检查SCO音频状态。 如果状态已经连接,则在调用startBluetoothSco()后,不会通过意图接收状态改变。 然而,调用startBluetoothSco()以便在当前启动器停止连接的情况下保持连接是有用的。
除非上述连接已处于活动状态,否则状态将始终从断开连接转换为连接,然后在连接成功时连接至CONNECTED,否则连接失败时返回DISCONNECTED状态(例如未连接耳机)。
当完成SCO连接或者如果建立失败,应用程序必须调用 stopBluetoothSco()
来清除请求并关闭蓝牙连接。
即使建立了SCO连接,以下限制也适用于音频输出流,以便将它们路由到SCO耳机:
STREAM_VOICE_CALL
以下限制适用于输入流:
请注意,电话应用程序始终优先使用电话的SCO连接。 如果在手机通话过程中调用此方法,它将被忽略。 同样,如果在应用程序正在使用SCO连接时收到或发送了呼叫,连接将在应用程序中丢失,并且在呼叫结束时不会自动返回。
注意:直到并包括API版本JELLY_BEAN_MR1
,此方法启动对蓝牙耳机的虚拟语音呼叫。 在API版本JELLY_BEAN_MR2
仅建立原始SCO音频连接。
void stopBluetoothSco ()
停止蓝牙SCO音频连接。
需要许可: MODIFY_AUDIO_SETTINGS
。
当完成SCO连接或连接失败时,此方法必须由请求使用蓝牙SCO音频的应用程序调用,并使用 startBluetoothSco()
。
也可以看看:
void unregisterAudioDeviceCallback (AudioDeviceCallback callback)
注销的 AudioDeviceCallback
先前已经注册以接收改变通知到设定连接的音频设备的对象。
Parameters | |
---|---|
callback |
AudioDeviceCallback : The AudioDeviceCallback object that was previously registered with {@link AudioManager#registerAudioDeviceCallback) to be unregistered. |
void unregisterAudioRecordingCallback (AudioManager.AudioRecordingCallback cb)
注销先前用 registerAudioRecordingCallback(AudioRecordingCallback, Handler)
注册的录音回拨。
Parameters | |
---|---|
cb |
AudioManager.AudioRecordingCallback : non-null callback to unregister |
void unregisterMediaButtonEventReceiver (PendingIntent eventReceiver)
此方法在API级别21中已弃用。
改为使用MediaSession
。
注销MEDIA_BUTTON意图的接收者。
Parameters | |
---|---|
eventReceiver |
PendingIntent : same PendingIntent that was registed with registerMediaButtonEventReceiver(PendingIntent) . |
void unregisterMediaButtonEventReceiver (ComponentName eventReceiver)
此方法在API级别21中已弃用。
改为使用MediaSession
。
注销MEDIA_BUTTON意图的接收者。
Parameters | |
---|---|
eventReceiver |
ComponentName : identifier of a BroadcastReceiver that was registered with registerMediaButtonEventReceiver(ComponentName) . |
void unregisterRemoteControlClient (RemoteControlClient rcClient)
此方法在API级别21中已弃用。
改为使用MediaSession
。
取消注册提供信息以显示在遥控器上的遥控器客户端。
Parameters | |
---|---|
rcClient |
RemoteControlClient : The remote control client to unregister. |
void unregisterRemoteController (RemoteController rctlr)
此方法在API级别21中已弃用。
改为使用removeOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener)
。
取消注册 RemoteController
,导致其不再接收媒体元数据和播放状态信息,并且不再能够控制播放。
Parameters | |
---|---|
rctlr |
RemoteController : the object to unregister. |