-->

MPMusicPlayerController没有响应近1 currentPlaybackRate(

2019-09-01 00:35发布

我试图使用上MPMusicPlayerController的currentPlaybackRate财产,因为它起着调节音乐曲目的节奏。 酒店工作时,速度比1.13小于0.90或大于预期,但只是高于和低于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已经达到阈值。 有没有人对此事的任何指导或经验?

Answer 1:

我不是专家,但我怀疑这种现象可能仅仅是用来改变播放速度不提高或降低音调算法的假象。 这是一个棘手的业务,在这里它必须实时地进行没有太多的失真,所以大概需要节奏的整数倍。 你可能想阅读时间维基百科的文章拉伸, http://en.wikipedia.org/wiki/Audio_timescale-pitch_modification



Answer 2:

其实我发现了问题:这句话myMusicPlayer.currentPlaybackRate = 1.2必须放在句子.play后()。 如果您在.play()之前把速度设定,这是行不通的。



文章来源: MPMusicPlayerController not responding to currentPlaybackRate near 1