您的位置:华清远见教育科技集团 >> Android资料 >> Android重低音及环绕音音效的添加  
 
Android重低音及环绕音音效的添加
分享到:

在Android 2.3中,对音频播放提供了更强大的音效支持,其实现位于android.media.audiofx包中。目前Android支持的音效包括:重低音(BassBoost)、环 绕音(Virtualizer)、均衡器(Equalizer)、混响(EnvironmentalReverb)和可视化Visualizer)。本文先来说说Android重低音及环绕音音效的添加。

1.重低音

BassBoost通过放大音频中的低频音来实现重低音特效。重低音的细节由OpenSL ES 1.0.1定义。 为了在通过AudioTrack、MediaPlayer进行音频播放时具有重低音特效,在构建BassBoost实例时指明音频流的会话ID即可。如果指定的会话ID为0,则BassBoost作用于主要的音频输出混音器(mix)上,BassBoost将会话ID指定为0需要"android.permission.MODIFY_AUDIO_SETTINGS"权限。

 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将会话ID指定为0需要"android.permission.MODIFY_AUDIO_SETTINGS"权限。

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 JetPlayer类
·Android RingtoneManager 铃声管理
·Android AudioTrack音频播放分析
·Android音频记录的处理
·Android AudioManager音量控制流程
·Android音频处理的基本接口