我一直在尝试使用范围从 0.8 到 1.2 的变量,以 +/- 0.01 浮点间隔来更改 MPMusicPlayerController 的 currentPlaybackRate(通过按下按钮)。
player2?.currentPlaybackRate = rate
(其中速率可以等于:0.80、0.81、0.82、... 1.18、1.19、1.20)。
我在播放音乐时注意到,当速率值达到 0.8、0.9、1.0、1.1 和 1.2 时,音乐的速率才真正发生变化。我假设这与 float 的小数位有关。
我说的对吗?是否可以在代码中以 0.01 的间隔更改 currentPlaybackRate 的速率?我很想把音乐控制在1%的间隔速度。
最佳答案
这是 Apple 发给我的:
Apple 开发者关系 24-Sep-2015 03:00 AM
此问题的表现符合预期,原因如下:
“如果有音频,您需要设置除 AVAudioTimePitchAlgorithmLowQualityZeroLatency 之外的 audioTimePitchAlgorithm。请参阅 AVAudioProcessingSettings.h。
MPMusicPlayer 不支持将速率设置为如此细粒度的速率。 AVPlayer 提供了一个更可配置的播放界面。”
因此,使用 MPMusicPlayer 无法以 0.01 的间隔更改音乐速率。
关于swift - 是否可以使用 Swift 编程以 0.01 的间隔更改 currentPlaybackRate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32439011/