如何在不改变android的持续时间(节奏,速度)的情况下改变音频的音高?

时间:2017-01-10 16:47:30

标签: android android-studio android-mediaplayer

我有改变音频音高保持速度(节奏)的问题。我想改变音频的音高,同时不改变它的持续时间。对于Android 6.0及更高版本,有一种简单的方法可以做到这一点。我们只需要使用这一行:

<exec>

但是如何为较低版本的Android做到这一点?
有没有简单的方法呢?

或者也许有一些外部图书馆可以帮助我? 我发现例如SoundTouch,但我无法将其添加到Android Studio项目中
所以,如果有一个简单的方法来改变Android的低版本的音高而不是6.0,我真的很感激有人给我一个解决方案。
或者,如果没有像Android 6.0及更高版本这样简单的方法,我会很感激,如果有人给我其他有用的解决方案,如图书馆或其他。如果有原生图书馆,那么有人会解释如何将其添加到Android Studio项目中
对不起我的英语不好!谢谢!

1 个答案:

答案 0 :(得分:0)

我认为可以通过使用setPlayBackRate更改其播放速率来更改音高。我不了解SoundTouch,但我发现SoundPool它有setRate方法,允许更改playBackrate。< / p>

这是来自SoundPool的文档

的qoute
  

加载声音并开始播放后,应用程序可以通过调用SoundPool.play()来触发声音。播放流可以暂停或恢复,应用程序也可以通过实时调整多普勒或合成效果的播放速率来改变音高。

     

播放速率允许应用程序改变声音的播放速率(音高)。值1.0表示以原始频率播放。值为2.0表示播放速度提高两倍,值为0.5表示以半速播放。