Android SoundPool.play方法的声音大小与系统声音设置的关系
发布时间
阅读量:
阅读量
在Android系统中进行音频播放时,默认情况下会调用MediaPlayer这一组件。而 SoundPool这一组件实际上是基于音效池的概念设计而来,并专门用于管理短暂且频繁的小型音频片段。
一般情况下,在使用SoundPool时执行load方法以获取特定的音效id,并在此基础上触发play方法以完成音频播放。
SoundPool的play方法原型如下:
int play(int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate);
play方法中的第二、三个参数用于设置左右声道的音量值,默认允许范围为0.0至1.0。重点在于这两个音量值如何与系统中的声音控制相协调。
例如通过AudioManager.STREAM_MUSIC或AudioManager.STREAM_VOICE_CALL这两个功能来播放提示音 此时的媒体音量或通话音量为 A (AudioManager.getStreamVolume(AudioManager.STREAM_MUSIC) 那么当使用SoundPool.play方法播放音效时 其实际的播放强度大小 就相当于
leftVolume * A
注意,实际的音量效果,是**乘积关系
全部评论 (0)
还没有任何评论哟~
