AudioEffect中文API
在Android2.3中增加了對音頻混響的支持,這些API包含在android.media.audiofx包中。
一、概述
AudioEffect是android audio framework(android 音頻框架)提供的音頻效果控制的基類。開發者不能直接使用此類,應該使用它的派生類。 下面列出它的派生類。
Equalizer
Virtualizer
BassBoost
PresetReverb
EnvironmentalReverb
當創建AudioEffect時,如果音頻效果應用到一個具體的AudioTrack和MediaPlayer的實例,應用程序必須指定該實例的音頻session ID,如果要應用Global音頻輸出混響的效果必須制定Session 0。
要創建音頻輸出混響(音頻 Session 0)要求要有 MODIFY_AUDIO_SETTINGS權限。
如果要創建的效果在audio framework不存在,那麽直接創建該效果,如果已經存在那麽直接使用此效果。如果優先級高的對象要在低級別的對象使用該效果時,那麽控制將轉移到優先級高的對象上,否則繼續停留在此對象上。在這種情況下,新的申請將被監聽器通知。
二、嵌套類
1.AudioEffect.Descriptor:效果描述符包含在音頻框架內實現某種特定的效果的信息。
2.AudioEffect.OnControlStatusChangeListener:此接口定義了當應用程序的音頻效果的控制狀態改變時由AudioEffect調用的方法。
3.AudioEffect.OnEnableStatusChangeListener:此接口定義了當應用程序的音頻效果的啟用狀態改變時由AudioEffect調用的方法。
三、常量
String | ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION | 關閉音頻效果 |
String | ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL | 啟動一個音頻效果控制面板UI。 |
String | ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION | 打開音頻效果。 |
int | ALREADY_EXISTS | 內部操作狀態。 |
int | CONTENT_TYPE_GAME | 當播放內容的類型是遊戲音頻時EXTRA_CONTENT_TYPE的值。 |
int | CONTENT_TYPE_MOVIE | 當播放內容的類型是電影時EXTRA_CONTENT_TYPE的值。 |
int | CONTENT_TYPE_MUSIC | 當播放內容的類型是音樂時EXTRA_CONTENT_TYPE的值。 |
int | CONTENT_TYPE_VOICE | 當播放內容的類型是話音時EXTRA_CONTENT_TYPE的值。 |
String | EFFECT_AUXILIARY | Effect connection mode 是auxiliary |
String | EFFECT_INSERT | Effect connection mode 是insert. |
int | ERROR | 指示操作錯誤。 |
int | ERROR_BAD_VALUE | 指示由於錯誤的參數導致的操作失敗。 |
int | ERROR_DEAD_OBJECT | 指示由於已關閉的遠程對象導致的操作失敗。 |
int | ERROR_INVALID_OPERATION | 指示由於錯誤的請求狀態導致的操作失敗。 |
int | ERROR_NO_INIT | 指示由於錯誤的對象初始化導致的操作失敗。 |
int | ERROR_NO_MEMORY | 指示由於內存不足導致的操作失敗。 |
String | EXTRA_AUDIO_SESSION | 包含使用效果的音頻會話ID。 |
String | EXTRA_CONTENT_TYPE | 指示應用程序播放內容的類型。 |
String | EXTRA_PACKAGE_NAME | 包含調用應用程序的包名。 |
int | SUCCESS | 操作成功。 |
四、公有方法
AudioEffect.Descriptor | getDescriptor() 獲取效果描述符。 |
boolean | getEnabled() 返回效果的啟用狀態。 |
int | getId() 返回效果的標識符 |
boolean | hasControl() 檢查該AudioEffect 對象是否擁有效果引擎的控制。如果有,則返回true。 |
static Descriptor[] | queryEffects() 查詢平臺上的所有有效的音頻效果。 |
void | release() 釋放本地AudioEffect資源。 |
void | setControlStatusListener(AudioEffect.OnControlStatusChangeListener listener) 註冊音頻效果的控制狀態監聽器.當控制狀態改變時AudioEffect發出通知。 |
void | setEnableStatusListener(AudioEffect.OnEnableStatusChangeListener listener) 設置音頻效果的啟用狀態監聽器。當啟用狀態改變時AudioEffect發出通知。 |
int | setEnabled(boolean enabled) Enable or disable the effect. |
AudioEffect中文API