Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 声音xcode的控制速度_Objective C_Ios_Audio_Slider_Slowdown - Fatal编程技术网

Objective c 声音xcode的控制速度

Objective c 声音xcode的控制速度,objective-c,ios,audio,slider,slowdown,Objective C,Ios,Audio,Slider,Slowdown,我想知道是否有可能在xcode中降低声音的速度。我的意思是,我会在xcode中的支持文件中添加一些.mp3文件,然后我会创建一个能够加速或减速的应用程序。例如,使用滑块。有可能吗?如果是的话,有人能帮我一些想法吗?谢谢AVAudioPlayer有一个rate属性,可以帮助您实现目标。 音频播放器的播放速率@物业浮动利率 讨论 此属性的默认值1.0提供正常播放速率。 可用范围从半速播放的0.5到2.0 用于双速播放 要设置音频播放器的播放速率,必须首先启用速率 调整如enableRate属性描述

我想知道是否有可能在xcode中降低声音的速度。我的意思是,我会在xcode中的支持文件中添加一些.mp3文件,然后我会创建一个能够加速或减速的应用程序。例如,使用滑块。有可能吗?如果是的话,有人能帮我一些想法吗?谢谢

AVAudioPlayer有一个rate属性,可以帮助您实现目标。

音频播放器的播放速率@物业浮动利率

讨论

此属性的默认值1.0提供正常播放速率。 可用范围从半速播放的0.5到2.0 用于双速播放

要设置音频播放器的播放速率,必须首先启用速率 调整如enableRate属性描述中所述

我还在AVAudioPlayer的rate上找到了一个很好的SO帖子:

就像你提到的那样,你可以设置一个值为0.5到2.0的滑块,并在值上更改,使用

- (IBAction)changeValue:(UISlider *)sender
{
    //made up assumed ivar names
    if ([_audioPlayer respondsToSelector:@selector(setEnableRate:)])
        _audioPlayer.enableRate = YES;
    if ([_audioPlayer respondsToSelector:@selector(setRate:)])
        _audioPlayer.rate = [NSNumber numberWithFloat:slideValue];
}

以高于或低于其采样率的速度播放PCM音频会改变其音高,并引入大量人工制品。如果您对此没有意见,您可以使用的方法是将MP3解码为PCM音频,然后使用控制播放速率

如果你想保持音高但改变速度,你需要一个音频时间拉伸算法

from是一款商业产品,它可以做到这一点,并且可以在iOS应用程序中使用。还有其他商业解决方案

DSP Dimension’s提供了关于如何实现变桨的基础知识的有用教程 使用FFT。时间拉伸本质上是相同的过程。然而,在DIRAC插件中有一点他们没有告诉你的秘密


需要注意的是,除非你是电子工程、物理或数学专业的毕业生,否则很难填补空白

对于哪个平台,
iOS
OSX
?为了清晰起见,您希望降低播放速度,而不是降低声音速度,对吗?由于音速取决于声波通过的介质。对于iOS,我想减慢/加快音速。就像它是120bpm,我想把它设为100bpm或150bpm,我不知道该怎么用?我应该把mp3放在哪里。我想象有一个按钮可以开始播放声音,还有一个滑块可以加速/减慢声音。我知道如何对这个按钮进行编码,但如何将其连接到滑块?