MPMusicPlayerController对currentPlaybackRate接近1没有反应[英] MPMusicPlayerController not responding to currentPlaybackRate near 1

本文是小编为大家收集整理的关于MPMusicPlayerController对currentPlaybackRate接近1没有反应的处理方法,想解了MPMusicPlayerController对currentPlaybackRate接近1没有反应的问题怎么解决?MPMusicPlayerController对currentPlaybackRate接近1没有反应问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在尝试使用 MPMusicPlayerController 上的 currentPlaybackRate 属性来调整音乐曲目播放时的速度.当比率小于 0.90 或大于 1.13 时,该属性按预期工作,但对于刚好高于和低于 1 的范围,似乎没有节奏变化.这是我正在尝试的:

UIAppDelegate.musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; 

...从库中加载带有曲目的音乐播放器

[UIAppDelegate.musicPlayer play];

- (void)speedUp{

        UIAppDelegate.musicPlayer.currentPlaybackRate =  UIAppDelegate.musicPlayer.currentPlaybackRate + 0.03125;           
}

- (void)speedDown
{

        UIAppDelegate.musicPlayer.currentPlaybackRate = UIAppDelegate.musicPlayer.currentPlaybackRate - 0.03125;

}

我可以监控 currentPlaybackRate 的值并查看它的设置是否正确,但在达到 0.9 或 1.13 阈值之前,播放速度似乎没有什么不同.有没有人对此事有任何指导或经验?

推荐答案

我不是专家,但我怀疑这种现象可能只是算法在不提高或降低音高的情况下改变播放速度的人工产物.这是一项棘手的工作,在这里必须实时完成,没有太多失真,因此可能需要节奏的整数倍.您可能想阅读关于时间拉伸的维基百科文章,http://en.wikipedia.org/wiki/Audio_timescale-pitch_modification

本文地址:https://www.itbaoku.cn/post/924611.html