- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在改变音频音调并保持其速度(节奏)时遇到问题。我想改变音频的音高,同时不改变其持续时间。对于 Android 6.0 及更高版本,有一个简单的方法可以做到这一点。我们所需要的就是使用这一行:
mediaPlayer.setPlaybackParams(mediaPlayer.getPlaybackParams().setPitch(1.7f));
但是对于较低版本的Android如何做到这一点?
有什么简单的方法可以做到这一点吗?
或者也许有一些外部库可以帮助我?
我发现例如SoundTouch,但我无法将其添加到 Android Studio 项目中..
因此,如果有简单的方法可以改变低于 6.0 版本的 Android 的音调,我真的很感激有人能给我一个解决方案。
或者,如果没有像 Android 6.0 及更高版本那么简单的方法,如果有人为我提供其他有用的解决方案(例如库或其他),我将不胜感激。如果有原生库,最好有人解释一下如何将其添加到 Android Studio 项目中。
对不起我的英语不好!谢谢!
最佳答案
我认为可以通过使用 setPlayBackRate
更改其播放速率来改变音高。我不了解 SoundTouch,但我发现 SoundPool它有 setRate
方法,允许更改 playBackrate。
这是 SoundPool 文档中的 qoute
Once the sounds are loaded and play has started, the application can trigger sounds by calling SoundPool.play(). Playing streams can be paused or resumed, and the application can also alter the pitch by adjusting the playback rate in real-time for doppler or synthesis effects.
The playback rate allows the application to vary the playback rate (pitch) of the sound. A value of 1.0 means play back at the original frequency. A value of 2.0 means play back twice as fast, and a value of 0.5 means playback at half speed.
关于android - 如何在android中改变音频的音调而不改变其持续时间(节奏,速度)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41573984/
我是一名优秀的程序员,十分优秀!