我想知道是否有办法改变MediaPlayer播放数据的采样率。我想调整它并以比编码更慢的速率播放数据。想法?
答案 0 :(得分:0)
这可能不适用于MediaPlayer,但对于音频,您可以使用SoundPool执行此操作:
播放速率也可以更改。播放速率为1.0会导致 以原始频率播放的声音(如有必要,重新采样, 到硬件输出频率)。回放率为2.0会导致 声音以原始频率的两倍播放,播放速率为 0.5使其以原始频率的一半播放。播放速率范围为0.5到2.0。
您在原始问题中没有提到这一点,但如果您想在更改频率时保持音高,则需要提供音高变换算法。也许android.media.audiofx包中有一个 - 有一个queryEffects()方法可能会返回某种类型的音高变换器。
对于MediaPlayer,您可以查看可以处理音频流的attachAuxEffect方法。