如何更改android的MediaPlayer的采样率

时间:2013-02-08 18:34:26

标签: android android-mediaplayer

我想知道是否有办法改变MediaPlayer播放数据的采样率。我想调整它并以比编码更慢的速率播放数据。想法?

1 个答案:

答案 0 :(得分:0)

这可能不适用于MediaPlayer,但对于音频,您可以使用SoundPool执行此操作:

  

播放速率也可以更改。播放速率为1.0会导致   以原始频率播放的声音(如有必要,重新采样,   到硬件输出频率)。回放率为2.0会导致   声音以原始频率的两倍播放,播放速率为   0.5使其以原始频率的一半播放。播放速率范围为0.5到2.0。

您在原始问题中没有提到这一点,但如果您想在更改频率时保持音高,则需要提供音高变换算法。也许android.media.audiofx包中有一个 - 有一个queryEffects()方法可能会返回某种类型的音高变换器。

对于MediaPlayer,您可以查看可以处理音频流的attachAuxEffect方法。