Most visited

Recently visited

Added in API level 1

AudioManager

public class AudioManager
extends Object

java.lang.Object
   ↳ android.media.AudioManager


AudioManager提供对音量和铃声模式控制的访问。

使用 Context.getSystemService(Context.AUDIO_SERVICE)获取此类的实例。

Summary

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中已弃用。请改为使用ACTION_SCO_AUDIO_STATE_UPDATED

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

额外用于 ACTION_HDMI_AUDIO_PLUG以传达HDMI是否插入或拔出。

String EXTRA_ENCODINGS

ACTION_HDMI_AUDIO_PLUG额外用于定义连接的HDMI设备支持的音频编码。

String EXTRA_MAX_CHANNEL_COUNT

额外用于 ACTION_HDMI_AUDIO_PLUG以定义HDMI设备支持的最大通道数量。

String EXTRA_RINGER_MODE

新的铃声模式。

String EXTRA_SCO_AUDIO_PREVIOUS_STATE

包含以前的蓝牙SCO连接状态的意图 ACTION_SCO_AUDIO_STATE_UPDATED额外。

String EXTRA_SCO_AUDIO_STATE

包含新的蓝牙SCO连接状态的意图 ACTION_SCO_AUDIO_STATE_CHANGEDACTION_SCO_AUDIO_STATE_UPDATED额外。

String EXTRA_VIBRATE_SETTING

此常数在API级别16中已弃用。应用程序应根据当前的振铃器模式维护其自己的振动策略,并听取RINGER_MODE_CHANGED_ACTION

String EXTRA_VIBRATE_TYPE

此常数在API级别16中已弃用。应用程序应根据当前振铃模式维护其自己的振动策略,并改为听取RINGER_MODE_CHANGED_ACTION

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

指定 getDevices(int)方法以包括源设备和接收设备。

int GET_DEVICES_INPUTS

指定 getDevices(int)方法以包含来源(即

int GET_DEVICES_OUTPUTS

指定 getDevices(int)方法以包含接收器(即,

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

用作 getProperty(String)的关键字,以十进制PCM帧为 getProperty(String)请求本设备主输出流的本机或最佳输出缓冲区大小。

String PROPERTY_OUTPUT_SAMPLE_RATE

用作 getProperty(String)的密钥,用于请求本设备主输出流的本机或最佳输出采样率(以十进制Hz为单位)。

String PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED

用作 getProperty(String)的键,以确定未处理的音频源是否可用并支持预期的频率范围和电平响应。

String PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND

用作 getProperty(String)的键,以确定默认麦克风音频源是否支持接近超声波频率(范围为18 - 21 kHz)。

String PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND

用作 getProperty(String)的键以确定默认扬声器音频路径是否支持接近超声波频率(范围为18 - 21 kHz)。

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中已弃用。使用ROUTE_BLUETOOTH_SCO请勿直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

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

额外值 EXTRA_SCO_AUDIO_STATEEXTRA_SCO_AUDIO_PREVIOUS_STATE指示SCO音频通道已建立

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中已弃用。应用程序应根据当前振铃模式维护自己的振动策略,并听取RINGER_MODE_CHANGED_ACTION

int VIBRATE_SETTING_OFF

此常数在API级别16中已弃用。应用程序应根据当前可通过getRingerMode()查询的振铃器模式维护自己的振动策略。

int VIBRATE_SETTING_ON

此常量在API级别16中已弃用。应用程序应根据当前可通过getRingerMode()查询的振铃器模式维护其自己的振动策略。

int VIBRATE_SETTING_ONLY_SILENT

此常数在API级别16中已弃用。应用程序应根据当前可通过getRingerMode()查询的振铃器模式维护其自己的振动策略。

int VIBRATE_TYPE_NOTIFICATION

此常数在API级别16中已弃用。应用程序应根据当前可通过getRingerMode()查询的振铃器模式维护其自己的振动策略。

int VIBRATE_TYPE_RINGER

此常数在API级别16中已弃用。应用程序应根据当前可通过getRingerMode()查询的振铃器模式维护自己的振动策略。

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)

返回与当前连接到系统的音频设备对应的 AudioDeviceInfo对象数组,并且满足 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中已弃用。应用程序应根据当前可通过getRingerMode()查询的振铃器模式维护其自己的振动策略。

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)

注册一个 AudioDeviceCallback对象以接收对所连接的音频设备集 AudioDeviceCallback的更改通知。

void registerAudioRecordingCallback(AudioManager.AudioRecordingCallback cb, Handler handler)

通过 AudioManager.AudioRecordingCallback注册回调以通知录音更改

void registerMediaButtonEventReceiver(ComponentName eventReceiver)

此方法在API级别21中已弃用。请改为使用setMediaButtonReceiver(PendingIntent)

void registerMediaButtonEventReceiver(PendingIntent eventReceiver)

此方法在API级别21中已弃用。请改为使用setMediaButtonReceiver(PendingIntent)

void registerRemoteControlClient(RemoteControlClient rcClient)

此方法在API级别21中已弃用。请改为使用MediaSession

boolean registerRemoteController(RemoteController rctlr)

此方法在API级别21中已弃用。请改用addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, ComponentName)MediaController

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中已弃用。请改用adjustStreamVolume(int, int, int)ADJUST_MUTEADJUST_UNMUTE

void setStreamSolo(int streamType, boolean state)

此方法在API级别23中已弃用。请勿使用。 如果您需要专用音频播放,请使用requestAudioFocus(AudioManager.OnAudioFocusChangeListener, int, int)

void setStreamVolume(int streamType, int index, int flags)

设置特定流的音量索引。

void setVibrateSetting(int vibrateType, int vibrateSetting)

此方法在API级别16中已弃用。应用程序应根据当前可通过getRingerMode()查询的振铃器模式维护其自己的振动策略。

void setWiredHeadsetOn(boolean on)

此方法在API级别5中已弃用。请勿使用。

boolean shouldVibrate(int vibrateType)

此方法在API级别16中已弃用。应用程序应基于当前可通过getRingerMode()查询的振铃器模式维护其自己的振动策略。

void startBluetoothSco()

开始蓝牙SCO音频连接。

void stopBluetoothSco()

停止蓝牙SCO音频连接。

void unloadSoundEffects()

卸载声音效果。

void unregisterAudioDeviceCallback(AudioDeviceCallback callback)

注销的 AudioDeviceCallback先前已经注册以接收改变通知到设定连接的音频设备的对象。

void unregisterAudioRecordingCallback(AudioManager.AudioRecordingCallback cb)

注销先前用 registerAudioRecordingCallback(AudioRecordingCallback, Handler)注册的录音回拨。

void unregisterMediaButtonEventReceiver(PendingIntent eventReceiver)

此方法在API级别21中已弃用。请改为使用MediaSession

void unregisterMediaButtonEventReceiver(ComponentName eventReceiver)

此方法在API级别21中已弃用。请改为使用MediaSession

void unregisterRemoteControlClient(RemoteControlClient rcClient)

此方法在API级别21中已弃用。请改为使用MediaSession

void unregisterRemoteController(RemoteController rctlr)

此方法在API级别21中已弃用。请改为使用removeOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener)

Inherited methods

From class java.lang.Object

Constants

ACTION_AUDIO_BECOMING_NOISY

Added in API level 3
String ACTION_AUDIO_BECOMING_NOISY

广播意图,对音频即将由于音频输出变化而变得“嘈杂”的应用程序提示。 例如,可以在拔下有线耳机或者A2DP音频接收器断开连接并且音频系统将自动将音频路由切换到扬声器时发送此意图。 正在控制音频流的应用程序可能会考虑暂停,减少音量或收到此意图时的其他操作,以免让用户从扬声器中听到音频。

常量值:“android.media.AUDIO_BECOMING_NOISY”

ACTION_HDMI_AUDIO_PLUG

Added in API level 21
String ACTION_HDMI_AUDIO_PLUG

广播动作:播放指示HDMI电缆的粘性广播插入或拔出。 意图将有以下额外的值: EXTRA_AUDIO_PLUG_STATEEXTRA_MAX_CHANNEL_COUNTEXTRA_ENCODINGS

只能通过明确注册 registerReceiver(BroadcastReceiver, IntentFilter)才能收到。

常量值:“android.media.action.HDMI_AUDIO_PLUG”

ACTION_HEADSET_PLUG

Added in API level 21
String ACTION_HEADSET_PLUG

广播动作:插入有线耳机或拔下插头。 无法通过在清单中声明的组件收到此消息,只能通过Context.registerReceiver()明确注册。

意图将具有以下额外的值:

  • state - 0 for unplugged, 1 for plugged.
  • name - Headset type, human readable string
  • microphone - 1 if headset has a microphone, 0 otherwise

常量值:“android.intent.action.HEADSET_PLUG”

ACTION_SCO_AUDIO_STATE_CHANGED

Added in API level 8
String ACTION_SCO_AUDIO_STATE_CHANGED

此常数在API级别14中已弃用。
改为使用ACTION_SCO_AUDIO_STATE_UPDATED

粘滞广播意图操作,指示bluetoooth SCO音频连接状态已更改。 意图包含额外的EXTRA_SCO_AUDIO_STATE指示新的状态是SCO_AUDIO_STATE_DISCONNECTEDSCO_AUDIO_STATE_CONNECTED

也可以看看:

常量值:“android.media.SCO_AUDIO_STATE_CHANGED”

ACTION_SCO_AUDIO_STATE_UPDATED

Added in API level 14
String ACTION_SCO_AUDIO_STATE_UPDATED

粘滞广播意图操作,指示bluetoooth SCO音频连接状态已更新。

这个意图有两个额外的:

EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE可以是以下任何一种:

也可以看看:

常量值:“android.media.ACTION_SCO_AUDIO_STATE_UPDATED”

ADJUST_LOWER

Added in API level 1
int ADJUST_LOWER

降低铃声音量。

也可以看看:

常量值:-1(0xffffffff)

ADJUST_MUTE

Added in API level 23
int ADJUST_MUTE

将音量静音。 如果流已经静音,则不起作用。

也可以看看:

常量值:-100(0xffffff9c)

ADJUST_RAISE

Added in API level 1
int ADJUST_RAISE

增加铃声音量。

也可以看看:

常数值:1(0x00000001)

ADJUST_SAME

Added in API level 1
int ADJUST_SAME

保持以前的铃声音量。 当需要显示音量烤面包而不实际修改音量时,这可能很有用。

也可以看看:

常量值:0(0x00000000)

ADJUST_TOGGLE_MUTE

Added in API level 23
int ADJUST_TOGGLE_MUTE

切换静音状态。 如果静音,流将被取消静音。 如果没有静音,流将被静音。

也可以看看:

常量值:101(0x00000065)

ADJUST_UNMUTE

Added in API level 23
int ADJUST_UNMUTE

取消静音。 如果流没有静音,则不起作用。

也可以看看:

常量值:100(0x00000064)

AUDIOFOCUS_GAIN

Added in API level 8
int AUDIOFOCUS_GAIN

用于指示音频焦点的增益或未知持续时间的音频焦点请求。

也可以看看:

常数值:1(0x00000001)

AUDIOFOCUS_GAIN_TRANSIENT

Added in API level 8
int AUDIOFOCUS_GAIN_TRANSIENT

用于指示临时增益或音频焦点的请求,预计会持续很短的时间。 临时改变的例子是行车路线的回放或事件通知。

也可以看看:

常量值:2(0x00000002)

AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE

Added in API level 19
int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE

用于指示音频焦点的临时请求,预计会持续很短的时间,在此期间没有其他应用程序或系统组件应播放任何内容。 独占和瞬态音频焦点请求的示例是语音备忘录录音和语音识别,在此期间系统不应播放任何通知,媒体播放应暂停。

也可以看看:

常量值:4(0x00000004)

AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK

Added in API level 8
int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK

用于指示音频焦点的临时请求,预计会持续很短的时间,以及其他音频应用程序在降低其输出级别(也称为“避免”)后继续播放的位置。 暂时改变的例子是回放在背景中的音乐回放是可接受的行驶方向。

也可以看看:

常量值:3(0x00000003)

AUDIOFOCUS_LOSS

Added in API level 8
int AUDIOFOCUS_LOSS

用于指示未知持续时间的音频焦点丢失。

也可以看看:

常量值:-1(0xffffffff)

AUDIOFOCUS_LOSS_TRANSIENT

Added in API level 8
int AUDIOFOCUS_LOSS_TRANSIENT

用于指示音频焦点的瞬时丢失。

也可以看看:

常量值:-2(0xfffffffe)

AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK

Added in API level 8
int AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK

用于指示音频焦点的瞬时丢失,如果音频焦点的输出者想要继续播放(也称为“回避”),则输出音量的输出者可以降低其输出音量,因为新焦点所有者不需要其他人沉默。

也可以看看:

常量值:-3(0xfffffffd)

AUDIOFOCUS_REQUEST_FAILED

Added in API level 8
int AUDIOFOCUS_REQUEST_FAILED

焦点更改请求失败。

常量值:0(0x00000000)

AUDIOFOCUS_REQUEST_GRANTED

Added in API level 8
int AUDIOFOCUS_REQUEST_GRANTED

成功关注变更请求。

常数值:1(0x00000001)

AUDIO_SESSION_ID_GENERATE

Added in API level 21
int AUDIO_SESSION_ID_GENERATE

一个特殊的音频会话ID,用于指示音频会话ID未知,并且框架应该生成一个新值。 当与AudioTrack(AudioAttributes, AudioFormat, int, int, int)一起构建新的AudioTrack实例时,可以使用此方法。

常量值:0(0x00000000)

ERROR

Added in API level 21
int ERROR

一个默认的错误代码。

常量值:-1(0xffffffff)

ERROR_DEAD_OBJECT

Added in API level 21
int ERROR_DEAD_OBJECT

指示报告对象不再有效并需要重新创建的错误代码。

常量值:-6(0xfffffffa)

EXTRA_AUDIO_PLUG_STATE

Added in API level 21
String EXTRA_AUDIO_PLUG_STATE

额外用于ACTION_HDMI_AUDIO_PLUG以传达HDMI是插入还是拔出。 整数值1表示插入状态,0表示拔出。

常量值:“android.media.extra.AUDIO_PLUG_STATE”

EXTRA_ENCODINGS

Added in API level 21
String EXTRA_ENCODINGS

ACTION_HDMI_AUDIO_PLUG额外用于定义连接的HDMI设备支持的音频编码。 相应的编码值数组仅在插入设备时可用(如EXTRA_AUDIO_PLUG_STATE )。 编码值在AudioFormat中定义(例如参见ENCODING_PCM_16BIT )。 使用getIntArrayExtra(String)检索编码值。

常量值:“android.media.extra.ENCODINGS”

EXTRA_MAX_CHANNEL_COUNT

Added in API level 21
String EXTRA_MAX_CHANNEL_COUNT

额外用于ACTION_HDMI_AUDIO_PLUG来定义HDMI设备支持的最大通道数量。 相应的整数值仅在设备插入时可用(由EXTRA_AUDIO_PLUG_STATE表示)。

常量值:“android.media.extra.MAX_CHANNEL_COUNT”

EXTRA_RINGER_MODE

Added in API level 1
String EXTRA_RINGER_MODE

新的铃声模式。

也可以看看:

常量值:“android.media.EXTRA_RINGER_MODE”

EXTRA_SCO_AUDIO_PREVIOUS_STATE

Added in API level 14
String EXTRA_SCO_AUDIO_PREVIOUS_STATE

包含以前的蓝牙SCO连接状态的意图 ACTION_SCO_AUDIO_STATE_UPDATED额外。

常量值:“android.media.extra.SCO_AUDIO_PREVIOUS_STATE”

EXTRA_SCO_AUDIO_STATE

Added in API level 8
String EXTRA_SCO_AUDIO_STATE

包含新的蓝牙SCO连接状态的意图 ACTION_SCO_AUDIO_STATE_CHANGEDACTION_SCO_AUDIO_STATE_UPDATED额外。

常量值:“android.media.extra.SCO_AUDIO_STATE”

EXTRA_VIBRATE_SETTING

Added in API level 1
String EXTRA_VIBRATE_SETTING

此常数在API级别16中已弃用。
应用程序应该基于当前的振铃模式维护自己的振动策略,并改为听取RINGER_MODE_CHANGED_ACTION

新的特定类型的振动设置。

也可以看看:

常量值:“android.media.EXTRA_VIBRATE_SETTING”

EXTRA_VIBRATE_TYPE

Added in API level 1
String EXTRA_VIBRATE_TYPE

此常数在API级别16中已弃用。
应用程序应该基于当前的振铃模式维护自己的振动策略,并听取RINGER_MODE_CHANGED_ACTION

振动类型的设置已更改。

也可以看看:

常量值:“android.media.EXTRA_VIBRATE_TYPE”

FLAG_ALLOW_RINGER_MODES

Added in API level 1
int FLAG_ALLOW_RINGER_MODES

在更改音量时是否包含铃声模式作为可能的选项。 例如,如果真实和音量级别为0并且音量用ADJUST_LOWER调整,则振铃模式可以切换静音模式或振动模式。

默认情况下,这对环流是开启的。 如果包含此标志,则无论流类型受到振铃器模式的影响,都会出现此行为。

也可以看看:

常量值:2(0x00000002)

FLAG_PLAY_SOUND

Added in API level 1
int FLAG_PLAY_SOUND

更改音量时是否播放声音。

如果给出了 adjustVolume(int, int)adjustSuggestedStreamVolume(int, int, int) ,在某些情况下它可能会被忽略(例如,决定的流类型不是 STREAM_RING ,或者音量正在向下调整)。

也可以看看:

常量值:4(0x00000004)

FLAG_REMOVE_SOUND_AND_VIBRATE

Added in API level 1
int FLAG_REMOVE_SOUND_AND_VIBRATE

删除可能在队列中或正在播放的任何声音/振动(与更改音量有关)。

常量值:8(0x00000008)

FLAG_SHOW_UI

Added in API level 1
int FLAG_SHOW_UI

显示包含当前音量的吐司。

也可以看看:

常数值:1(0x00000001)

FLAG_VIBRATE

Added in API level 1
int FLAG_VIBRATE

如果进入振动振铃模式,是否振动。

常量值:16(0x00000010)

FX_FOCUS_NAVIGATION_DOWN

Added in API level 1
int FX_FOCUS_NAVIGATION_DOWN

焦点已经下移

也可以看看:

常量值:2(0x00000002)

FX_FOCUS_NAVIGATION_LEFT

Added in API level 1
int FX_FOCUS_NAVIGATION_LEFT

焦点已经向左移动

也可以看看:

常量值:3(0x00000003)

FX_FOCUS_NAVIGATION_RIGHT

Added in API level 1
int FX_FOCUS_NAVIGATION_RIGHT

焦点已经向右移动

也可以看看:

常量值:4(0x00000004)

FX_FOCUS_NAVIGATION_UP

Added in API level 1
int FX_FOCUS_NAVIGATION_UP

焦点已经上升

也可以看看:

常数值:1(0x00000001)

FX_KEYPRESS_DELETE

Added in API level 3
int FX_KEYPRESS_DELETE

IME删除按键声音

也可以看看:

常量值:7(0x00000007)

FX_KEYPRESS_INVALID

Added in API level 19
int FX_KEYPRESS_INVALID

无效的按键声音

也可以看看:

常量值:9(0x00000009)

FX_KEYPRESS_RETURN

Added in API level 3
int FX_KEYPRESS_RETURN

IME return_keypress声音

也可以看看:

常量值:8(0x00000008)

FX_KEYPRESS_SPACEBAR

Added in API level 3
int FX_KEYPRESS_SPACEBAR

IME空格键按键声音

也可以看看:

常数值:6(0x00000006)

FX_KEYPRESS_STANDARD

Added in API level 3
int FX_KEYPRESS_STANDARD

IME标准按键声音

也可以看看:

常量值:5(0x00000005)

FX_KEY_CLICK

Added in API level 1
int FX_KEY_CLICK

键盘和方向键点击声音

也可以看看:

常量值:0(0x00000000)

GET_DEVICES_ALL

Added in API level 23
int GET_DEVICES_ALL

指定 getDevices(int)方法以包括源设备和宿设备。

常量值:3(0x00000003)

GET_DEVICES_INPUTS

Added in API level 23
int GET_DEVICES_INPUTS

指定 getDevices(int)方法以包含源(即输入)音频设备。

常数值:1(0x00000001)

GET_DEVICES_OUTPUTS

Added in API level 23
int GET_DEVICES_OUTPUTS

指定 getDevices(int)方法以包含信宿(即输出)音频设备。

常量值:2(0x00000002)

MODE_CURRENT

Added in API level 1
int MODE_CURRENT

当前音频模式。 用于将音频路由应用于当前模式。

常量值:-1(0xffffffff)

MODE_INVALID

Added in API level 1
int MODE_INVALID

无效的音频模式。

常量值:-2(0xfffffffe)

MODE_IN_CALL

Added in API level 1
int MODE_IN_CALL

在通话音频模式下。 电话呼叫建立。

常量值:2(0x00000002)

MODE_IN_COMMUNICATION

Added in API level 11
int MODE_IN_COMMUNICATION

在通信音频模式下。 音频/视频聊天或VoIP呼叫建立。

常量值:3(0x00000003)

MODE_NORMAL

Added in API level 1
int MODE_NORMAL

正常音频模式:不振铃,不建立呼叫。

常量值:0(0x00000000)

MODE_RINGTONE

Added in API level 1
int MODE_RINGTONE

振铃音频模式。 正在传入信号。

常数值:1(0x00000001)

NUM_STREAMS

Added in API level 1
int NUM_STREAMS

此常数在API级别3中已弃用。
改用AudioSystem.getNumStreamTypes()

常量值:5(0x00000005)

PROPERTY_OUTPUT_FRAMES_PER_BUFFER

Added in API level 17
String PROPERTY_OUTPUT_FRAMES_PER_BUFFER

用作 getProperty(String)的密钥,用于请求本设备主输出流的本地或最佳输出缓冲区大小,以十进制PCM帧为单位。

常量值:“android.media.property.OUTPUT_FRAMES_PER_BUFFER”

PROPERTY_OUTPUT_SAMPLE_RATE

Added in API level 17
String PROPERTY_OUTPUT_SAMPLE_RATE

用作 getProperty(String)的密钥,以请求本设备主输出流的本机或最佳输出采样率(以十进制Hz为单位)。

常量值:“android.media.property.OUTPUT_SAMPLE_RATE”

PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED

Added in API level 24
String PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED

用作 getProperty(String)的键,以确定未处理的音频源是否可用,并且是否支持预期的频率范围和级别响应。

常量值:“android.media.property.SUPPORT_AUDIO_SOURCE_UNPROCESSED”

PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND

Added in API level 23
String PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND

用作 getProperty(String)的键,以确定默认麦克风音频源是否支持接近超声波频率(范围为18 - 21 kHz)。

常量值:“android.media.property.SUPPORT_MIC_NEAR_ULTRASOUND”

PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND

Added in API level 23
String PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND

用作 getProperty(String)的键以确定默认扬声器音频路径是否支持接近超声频率(范围为18 - 21 kHz)。

常量值:“android.media.property.SUPPORT_SPEAKER_NEAR_ULTRASOUND”

RINGER_MODE_CHANGED_ACTION

Added in API level 1
String RINGER_MODE_CHANGED_ACTION

粘滞广播意图操作,表明振铃模式已更改。 包括新的铃声模式。

也可以看看:

常量值:“android.media.RINGER_MODE_CHANGED”

RINGER_MODE_NORMAL

Added in API level 1
int RINGER_MODE_NORMAL

铃声模式可能会发出声音并可能振动。 如果在更换此模式之前的音量可以听到,则会发出声音。 如果振动设置打开,它会振动。

也可以看看:

常量值:2(0x00000002)

RINGER_MODE_SILENT

Added in API level 1
int RINGER_MODE_SILENT

林格模式,将沉默,不会振动。 (这会覆盖振动设置。)

也可以看看:

常量值:0(0x00000000)

RINGER_MODE_VIBRATE

Added in API level 1
int RINGER_MODE_VIBRATE

林肯模式,将沉默,并会振动。 (这会导致电话铃声总是振动,但是如果设置,通知振动只会振动。)

也可以看看:

常数值:1(0x00000001)

ROUTE_ALL

Added in API level 1
int ROUTE_ALL

此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

用于掩码参数 setRouting(int, int, int)

常量值:-1(0xffffffff)

ROUTE_BLUETOOTH

Added in API level 1
int ROUTE_BLUETOOTH

此常数在API级别3中已弃用。
使用ROUTE_BLUETOOTH_SCO请勿直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

常量值:4(0x00000004)

ROUTE_BLUETOOTH_A2DP

Added in API level 3
int ROUTE_BLUETOOTH_A2DP

此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

路由音频输出到蓝牙A2DP

常量值:16(0x00000010)

ROUTE_BLUETOOTH_SCO

Added in API level 3
int ROUTE_BLUETOOTH_SCO

此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

将音频输出路由到蓝牙SCO

常量值:4(0x00000004)

ROUTE_EARPIECE

Added in API level 1
int ROUTE_EARPIECE

此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

将音频输出路由到耳机

常数值:1(0x00000001)

ROUTE_HEADSET

Added in API level 1
int ROUTE_HEADSET

此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

将音频输出路由至耳机

常量值:8(0x00000008)

ROUTE_SPEAKER

Added in API level 1
int ROUTE_SPEAKER

此常数在API级别5中已弃用。
不要直接设置音频路由,请改用setSpeakerphoneOn(),setBluetoothScoOn()方法。

将音频输出路由到扬声器

常量值:2(0x00000002)

SCO_AUDIO_STATE_CONNECTED

Added in API level 8
int SCO_AUDIO_STATE_CONNECTED

额外值 EXTRA_SCO_AUDIO_STATEEXTRA_SCO_AUDIO_PREVIOUS_STATE指示SCO音频通道已建立

常数值:1(0x00000001)

SCO_AUDIO_STATE_CONNECTING

Added in API level 14
int SCO_AUDIO_STATE_CONNECTING

额外EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE的值指示SCO音频通道正在建立

常量值:2(0x00000002)

SCO_AUDIO_STATE_DISCONNECTED

Added in API level 8
int SCO_AUDIO_STATE_DISCONNECTED

额外EXTRA_SCO_AUDIO_STATE或EXTRA_SCO_AUDIO_PREVIOUS_STATE的值指示SCO音频通道未建立

常量值:0(0x00000000)

SCO_AUDIO_STATE_ERROR

Added in API level 8
int SCO_AUDIO_STATE_ERROR

额外EXTRA_SCO_AUDIO_STATE的值表示尝试获取状态时发生错误

常量值:-1(0xffffffff)

STREAM_ALARM

Added in API level 1
int STREAM_ALARM

警报的音频流

常量值:4(0x00000004)

STREAM_DTMF

Added in API level 5
int STREAM_DTMF

DTMF音频的音频流

常量值:8(0x00000008)

STREAM_MUSIC

Added in API level 1
int STREAM_MUSIC

用于音乐播放的音频流

常量值:3(0x00000003)

STREAM_NOTIFICATION

Added in API level 3
int STREAM_NOTIFICATION

通知的音频流

常量值:5(0x00000005)

STREAM_RING

Added in API level 1
int STREAM_RING

电话铃声的音频流

常量值:2(0x00000002)

STREAM_SYSTEM

Added in API level 1
int STREAM_SYSTEM

系统声音的音频流

常数值:1(0x00000001)

STREAM_VOICE_CALL

Added in API level 1
int STREAM_VOICE_CALL

用于电话呼叫的音频流

常量值:0(0x00000000)

USE_DEFAULT_STREAM_TYPE

Added in API level 1
int USE_DEFAULT_STREAM_TYPE

建议使用默认流类型。 这可能不会在所有需要流类型的地方使用。

常量值:-2147483648(0x80000000)

VIBRATE_SETTING_CHANGED_ACTION

Added in API level 1
String VIBRATE_SETTING_CHANGED_ACTION

此常数在API级别16中已弃用。
应用程序应该基于当前的振铃模式保持自己的振动策略,并听取RINGER_MODE_CHANGED_ACTION

广播意图操作指示振动设置已更改。 包含振动类型及其新设置。

也可以看看:

常量值:“android.media.VIBRATE_SETTING_CHANGED”

VIBRATE_SETTING_OFF

Added in API level 1
int VIBRATE_SETTING_OFF

此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()查询的振铃器模式维护自己的振动策略。

振动设置,表明永不振动。

也可以看看:

常量值:0(0x00000000)

VIBRATE_SETTING_ON

Added in API level 1
int VIBRATE_SETTING_ON

此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()查询的振铃器模式维护自己的振动策略。

振动设置,建议尽可能振动。

也可以看看:

常数值:1(0x00000001)

VIBRATE_SETTING_ONLY_SILENT

Added in API level 1
int VIBRATE_SETTING_ONLY_SILENT

此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()查询的振铃器模式维护自己的振动策略。

振动设置,建议仅在振动铃声模式下振动。

也可以看看:

常量值:2(0x00000002)

VIBRATE_TYPE_NOTIFICATION

Added in API level 1
int VIBRATE_TYPE_NOTIFICATION

此常数在API级别16中已弃用。
应用程序应该基于当前可通过getRingerMode()查询的振铃器模式维护自己的振动策略。

与通知相对应的振动类型。

也可以看看:

常数值:1(0x00000001)

VIBRATE_TYPE_RINGER

Added in API level 1
int VIBRATE_TYPE_RINGER

此常数在API级别16中已弃用。
应用程序应该基于当前可以通过getRingerMode()查询的振铃器模式维护自己的振动策略。

与铃声相对应的振动类型。

也可以看看:

常量值:0(0x00000000)

Public methods

abandonAudioFocus

Added in API level 8
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

adjustStreamVolume

Added in API level 1
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.

也可以看看:

adjustSuggestedStreamVolume

Added in API level 1
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.

也可以看看:

adjustVolume

Added in API level 1
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.

也可以看看:

dispatchMediaKeyEvent

Added in API level 19
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.

generateAudioSessionId

Added in API level 21
int generateAudioSessionId ()

返回与任何播放器或效果无关的新音频会话标识符。 音频会话标识符是一组音频流(一个或多个混合在一起)的系统范围唯一标识符。

音频会话ID的主要用途是将音频效果与音频播放器相关联,如 MediaPlayerAudioTrack :共享相同音频会话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.

getActiveRecordingConfigurations

Added in API level 24
List<AudioRecordingConfiguration> getActiveRecordingConfigurations ()

返回设备的当前活动音频录制配置。

Returns
List<AudioRecordingConfiguration> a non-null list of recording configurations. An empty list indicates there is no recording active when queried.

也可以看看:

getDevices

Added in API level 23
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.

也可以看看:

getMode

Added in API level 1
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.

getParameters

Added in API level 5
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;...

getProperty

Added in API level 17
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.

getRingerMode

Added in API level 1
int getRingerMode ()

返回当前的铃声模式。

Returns
int The current ringtone mode, one of RINGER_MODE_NORMAL, RINGER_MODE_SILENT, or RINGER_MODE_VIBRATE.

也可以看看:

getRouting

Added in API level 1
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

getStreamMaxVolume

Added in API level 1
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.

也可以看看:

getStreamVolume

Added in API level 1
int getStreamVolume (int streamType)

返回特定流的当前音量索引。

Parameters
streamType int: The stream type whose volume index is returned.
Returns
int The current volume index for the stream.

也可以看看:

getVibrateSetting

Added in API level 1
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.

也可以看看:

isBluetoothA2dpOn

Added in API level 3
boolean isBluetoothA2dpOn ()

检查到蓝牙耳机的A2DP音频路由是打开还是关闭。

Returns
boolean true if A2DP audio is being routed to/from Bluetooth headset; false if otherwise

isBluetoothScoAvailableOffCall

Added in API level 8
boolean isBluetoothScoAvailableOffCall ()

指示当前平台是否支持将SCO用于关闭呼叫用例。 应用程序希望在手机未处于通话状态时使用蓝牙SCO音频,必须先调用此方法以确保该平台支持此功能。

Returns
boolean true if bluetooth SCO can be used for audio when not in call false otherwise

也可以看看:

isBluetoothScoOn

Added in API level 1
boolean isBluetoothScoOn ()

检查通讯是否使用蓝牙SCO。

Returns
boolean true if SCO is used for communications; false if otherwise

isMicrophoneMute

Added in API level 1
boolean isMicrophoneMute ()

检查麦克风静音是打开还是关闭。

Returns
boolean true if microphone is muted, false if it's not

isMusicActive

Added in API level 1
boolean isMusicActive ()

检查是否有音乐处于活动状态。

Returns
boolean true if any music tracks are active.

isSpeakerphoneOn

Added in API level 1
boolean isSpeakerphoneOn ()

检查扬声器是打开还是关闭。

Returns
boolean true if speakerphone is on, false if it's off

isStreamMute

Added in API level 23
boolean isStreamMute (int streamType)

返回特定流的当前静音状态。

Parameters
streamType int: The stream to get mute state for.
Returns
boolean The mute state for the given stream.

也可以看看:

isVolumeFixed

Added in API level 21
boolean isVolumeFixed ()

指示设备是否实施固定量策略。

某些设备可能没有音量控制,并且可能以固定音量运行,并且可能无法启用静音或更改音频流的音量。 此方法将在此类设备上返回true。

体积修复时,以下API无效:

Returns
boolean

isWiredHeadsetOn

Added in API level 5
boolean isWiredHeadsetOn ()

此方法在API级别14中已弃用。
仅用于检查是否连接了耳机。

检查有线耳机是否连接。

这不是一个有效的指示,因为音频路由取决于其他条件,音频播放实际上是通过有线耳机。

Returns
boolean true if a wired headset is connected. false if otherwise

loadSoundEffects

Added in API level 1
void loadSoundEffects ()

加载声音效果。 声音效果启用时必须调用此方法。

playSoundEffect

Added in API level 1
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.

playSoundEffect

Added in API level 3
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.

registerAudioDeviceCallback

Added in API level 23
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.

registerAudioRecordingCallback

Added in API level 24
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.

registerMediaButtonEventReceiver

Added in API level 8
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.

registerMediaButtonEventReceiver

Added in API level 18
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.

registerRemoteControlClient

Added in API level 14
void registerRemoteControlClient (RemoteControlClient rcClient)

此方法在API级别21中已弃用。
改为使用MediaSession

注册遥控器客户端以提供信息以显示在遥控器上。

Parameters
rcClient RemoteControlClient: The remote control client from which remote controls will receive information to display.

也可以看看:

registerRemoteController

Added in API level 19
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.

requestAudioFocus

Added in API level 8
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

setBluetoothA2dpOn

Added in API level 3
void setBluetoothA2dpOn (boolean on)

此方法在API级别5中已被弃用。
不使用。

Parameters
on boolean: set true to route A2DP audio to/from Bluetooth headset; false disable A2DP audio

setBluetoothScoOn

Added in API level 1
void setBluetoothScoOn (boolean on)

请求使用蓝牙SCO耳机进行通信。

此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。

Parameters
on boolean: set true to use bluetooth SCO for communications; false to not use bluetooth SCO for communications

setMicrophoneMute

Added in API level 1
void setMicrophoneMute (boolean on)

将麦克风静音设置为开或关。

此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。

Parameters
on boolean: set true to mute the microphone; false to turn mute off

setMode

Added in API level 1
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.

setParameters

Added in API level 5
void setParameters (String keyValuePairs)

为音频硬件设置可变数量的参数值。

Parameters
keyValuePairs String: list of parameters key value pairs in the form: key1=value1;key2=value2;...

setRingerMode

Added in API level 1
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.

也可以看看:

setRouting

Added in API level 1
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

setSpeakerphoneOn

Added in API level 1
void setSpeakerphoneOn (boolean on)

开启或关闭扬声器。

此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。

Parameters
on boolean: set true to turn on speakerphone; false to turn it off

setStreamMute

Added in API level 1
void setStreamMute (int streamType, 
                boolean state)

此方法在API级别23中已弃用。
改为使用adjustStreamVolume(int, int, int)ADJUST_MUTEADJUST_UNMUTE

静音或取消静音音频流。

此方法只能用于取代平台范围内音频设置管理或主要电话应用程序的应用程序。

如果设备执行 isVolumeFixed()所示的固定卷策略,则此方法 isVolumeFixed()

此方法在API级别22中已弃用。在API级别22之前,此方法具有明显不同的行为,应谨慎使用。 以下内容仅适用于22岁以前的平台:

  • The mute command is protected against client process death: if a process with an active mute request on a stream dies, this stream will be unmuted automatically.
  • The mute requests for a given stream are cumulative: the AudioManager can receive several mute requests from one or more clients and the stream will be unmuted only when the same number of unmute requests are received.
  • For a better user experience, applications MUST unmute a muted stream in onPause() and mute is again in onResume() if appropriate.

Parameters
streamType int: The stream to be muted/unmuted.
state boolean: The required mute state: true for mute ON, false for mute OFF

也可以看看:

setStreamSolo

Added in API level 1
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

也可以看看:

setStreamVolume

Added in API level 1
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.

也可以看看:

setVibrateSetting

Added in API level 1
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.

也可以看看:

setWiredHeadsetOn

Added in API level 5
void setWiredHeadsetOn (boolean on)

此方法在API级别5中已被弃用。
不使用。

将音频路由设置为开启或关闭有线耳机。

Parameters
on boolean: set true to route audio to/from wired headset; false disable wired headset audio

shouldVibrate

Added in API level 1
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.

也可以看看:

startBluetoothSco

Added in API level 8
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耳机:

  • the stream type must be STREAM_VOICE_CALL
  • the format must be mono
  • the sampling must be 16kHz or 8kHz

以下限制适用于输入流:

  • the format must be mono
  • the sampling must be 8kHz

请注意,电话应用程序始终优先使用电话的SCO连接。 如果在手机通话过程中调用此方法,它将被忽略。 同样,如果在应用程序正在使用SCO连接时收到或发送了呼叫,连接将在应用程序中丢失,并且在呼叫结束时不会自动返回。

注意:直到并包括API版本JELLY_BEAN_MR1 ,此方法启动对蓝牙耳机的虚拟语音呼叫。 在API版本JELLY_BEAN_MR2仅建立原始SCO音频连接。

也可以看看:

stopBluetoothSco

Added in API level 8
void stopBluetoothSco ()

停止蓝牙SCO音频连接。

需要许可: MODIFY_AUDIO_SETTINGS

当完成SCO连接或连接失败时,此方法必须由请求使用蓝牙SCO音频的应用程序调用,并使用 startBluetoothSco()

也可以看看:

unloadSoundEffects

Added in API level 1
void unloadSoundEffects ()

卸载声音效果。 当声音效果被禁用时,可以调用此方法释放一些内存。

unregisterAudioDeviceCallback

Added in API level 23
void unregisterAudioDeviceCallback (AudioDeviceCallback callback)

注销的 AudioDeviceCallback先前已经注册以接收改变通知到设定连接的音频设备的对象。

Parameters
callback AudioDeviceCallback: The AudioDeviceCallback object that was previously registered with {@link AudioManager#registerAudioDeviceCallback) to be unregistered.

unregisterAudioRecordingCallback

Added in API level 24
void unregisterAudioRecordingCallback (AudioManager.AudioRecordingCallback cb)

注销先前用 registerAudioRecordingCallback(AudioRecordingCallback, Handler)注册的录音回拨。

Parameters
cb AudioManager.AudioRecordingCallback: non-null callback to unregister

unregisterMediaButtonEventReceiver

Added in API level 18
void unregisterMediaButtonEventReceiver (PendingIntent eventReceiver)

此方法在API级别21中已弃用。
改为使用MediaSession

注销MEDIA_BUTTON意图的接收者。

Parameters
eventReceiver PendingIntent: same PendingIntent that was registed with registerMediaButtonEventReceiver(PendingIntent).

unregisterMediaButtonEventReceiver

Added in API level 8
void unregisterMediaButtonEventReceiver (ComponentName eventReceiver)

此方法在API级别21中已弃用。
改为使用MediaSession

注销MEDIA_BUTTON意图的接收者。

Parameters
eventReceiver ComponentName: identifier of a BroadcastReceiver that was registered with registerMediaButtonEventReceiver(ComponentName).

unregisterRemoteControlClient

Added in API level 14
void unregisterRemoteControlClient (RemoteControlClient rcClient)

此方法在API级别21中已弃用。
改为使用MediaSession

取消注册提供信息以显示在遥控器上的遥控器客户端。

Parameters
rcClient RemoteControlClient: The remote control client to unregister.

也可以看看:

unregisterRemoteController

Added in API level 19
void unregisterRemoteController (RemoteController rctlr)

此方法在API级别21中已弃用。
改为使用removeOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener)

取消注册 RemoteController ,导致其不再接收媒体元数据和播放状态信息,并且不再能够控制播放。

Parameters
rctlr RemoteController: the object to unregister.

Hooray!