1. 程式人生 > >AudioEffect中文API

AudioEffect中文API

read eset etc trac 框架 ons controls 公有 script

在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