android 音效处理(1)

介绍了Android2.3中新增的音效增强功能,包括重低音(BassBoost)和环绕音(Virtualizer)的使用方法。文章详细说明了如何在应用中启用这两种效果,并给出了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android 2.3中,对音频播放提供了更强大的音效支持,其实现位于android.media.audiofx包中。
目前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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值