android 音效处理(1)
2016-05-05 10:08
375 查看
在Android 2.3中,对音频播放提供了更强大的音效支持,其实现位于android.media.audiofx包中。
目前Android支持的音效包括:
1、重低音(BassBoost)
2、环 绕音(Virtualizer)
3、均衡器(Equalizer)
4、混响(EnvironmentalReverb)
5、可视化Visualizer)。
本文先来说说Android重低音及环绕音音效的添加。
为了使用音效处理需要在AndroidManifest.xml 添加相应的权限:
1.重低音
BassBoost通过放大音频中的低频音来实现重低音特效。重低音的细节由OpenSL ES 1.0.1定义。
为了在通过AudioTrack、MediaPlayer进行音频播放时具有重低音特效,创建BassBoost对象
BassBoost的常用方法如下:
getRoundedStrength() //获取特效力度,特效力度值在0~1000间变化
setStrength() //设置特效力度
下面是BassBoost的一般使用过程:
2.环绕音
环绕音依赖于输入和输出通道的数量和类型,需要打开立体声通道。通过放置音源于不同的
位置,环绕音完美地再现了声音的质感和饱满感。在创建Virtualizer实例时,在音 频框架层
将会同时创建一个环绕音引擎。环绕音的细节由OpenSL ES 1.0.1规范定义。
为了在通过AudioTrack、MediaPlayer进行音频播放时具有环绕音特效,在构建Virtualizer实例
时指明音频流的会话ID即可。如果指定的会话ID为0,则Virtualizer作用于主要的音频输出混
音器(mix)。
Virtualizer的常用方法如下:
getRoundedStrength() //获取特效力度,特效力度值在0~1000间变化
setStrength() //设置特效力度
下面是Virtualizer的一般使用过程:
目前Android支持的音效包括:
1、重低音(BassBoost)
2、环 绕音(Virtualizer)
3、均衡器(Equalizer)
4、混响(EnvironmentalReverb)
5、可视化Visualizer)。
本文先来说说Android重低音及环绕音音效的添加。
为了使用音效处理需要在AndroidManifest.xml 添加相应的权限:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
1.重低音
BassBoost通过放大音频中的低频音来实现重低音特效。重低音的细节由OpenSL ES 1.0.1定义。
为了在通过AudioTrack、MediaPlayer进行音频播放时具有重低音特效,创建BassBoost对象
new BassBoost(0, object.getAudioSessionId());
BassBoost的常用方法如下:
getRoundedStrength() //获取特效力度,特效力度值在0~1000间变化
setStrength() //设置特效力度
下面是BassBoost的一般使用过程:
BassBoost mBassBoost = new BassBoost(0, session); //优先级为0 if (mBassBoost.getStrengthSupported()) { short strength = mBassBoost.getRoundedStrength(); mBassBoost.setStrength((short)strength); }
2.环绕音
环绕音依赖于输入和输出通道的数量和类型,需要打开立体声通道。通过放置音源于不同的
位置,环绕音完美地再现了声音的质感和饱满感。在创建Virtualizer实例时,在音 频框架层
将会同时创建一个环绕音引擎。环绕音的细节由OpenSL ES 1.0.1规范定义。
为了在通过AudioTrack、MediaPlayer进行音频播放时具有环绕音特效,在构建Virtualizer实例
时指明音频流的会话ID即可。如果指定的会话ID为0,则Virtualizer作用于主要的音频输出混
音器(mix)。
Virtualizer的常用方法如下:
getRoundedStrength() //获取特效力度,特效力度值在0~1000间变化
setStrength() //设置特效力度
下面是Virtualizer的一般使用过程:
Virtualizer mVirtualizer= new Virtualizer (0, mMediaPlayer.getAudioSessionId()); //优先级为0 if (mVirtualizer.getStrengthSupported()) { short strength = mVirtualizer.getRoundedStrength(); mVirtualizer.setStrength((short)strength); }
相关文章推荐
- Android Studio导入项目错误之Gradle版本过高
- Android 国外的学习博客
- Android 插件化的过去-现在-未来
- AndroidStudio 项目中导入jar包及so包
- Android EditText监听
- android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)
- android AudioManager类 详解
- Android Animations动画使用详解
- Android基础 | Activity间进行数据传递
- Android超高仿QQ附近的人搜索展示
- android—资源文件(res)的引用
- Android四大组件之Broadcast
- Android软键盘隐藏,遮挡EidtText解决办法
- Android Studio技巧合集
- 【Android】首页图片轮播效果(淘宝、京东首页广告效果)
- Android AutoCompleteTextView
- Android自定义View初步
- Android模拟器检测常用方法
- Android百度鹰眼轨迹
- Activity的生命周期以及启动模式