在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.

最新文章

  1. 每天多一点(2016.12.04)》Javascript隐式转换
  2. Jupyter Notebook 27绝技——27 Jupyter Notebook tips, tricks and shortcuts
  3. (Array,位操作)137. Single Number II
  4. Flipping elements with WPF
  5. IE firefox 兼容性整理
  6. 2-sat按照最小字典序输出可行解(hdu1814)
  7. Ajax的基本语法
  8. to_number,Extract oracle的关键字
  9. 【Ural】【1057】Amount of degrees
  10. scope重定义
  11. OpenCV300 CMake生成project在项目过程中的问题
  12. 【Python】考虑用生成器改写直接返回列表的函数
  13. Mac linux 安装memcached服务 用法
  14. Service 之间如何通信?- 每天5分钟玩转 Docker 容器技术(101)
  15. JAVA入门[13]-Spring装配Bean
  16. MSIL实用指南-局部变量的声明、保存和加载
  17. 网络流24题——试题库问题 luogu 2763
  18. gson 入门使用
  19. HDU-1170的解题报告
  20. 微信小程序中用setData修改一个对象的属性值

热门文章

  1. 如何访问cxGrid控件过滤后的数据集
  2. Xmind 8 pro 软件破解版
  3. Linux命令(一) pwd ,cd
  4. laravel 处理自定错误页面,如404,500,501,502,503,504等等
  5. laravel DB 执行 mysql函数或者字段
  6. Java NIO Socket编程实例
  7. springMVC返回给页面参数的三种形式
  8. IDEA 调试技巧
  9. MT【199】映射的个数
  10. 解题:THUWC 2017 在美妙的数学王国中畅游