所以我想在的iOS 5.1.1播放声音文件以不同的速率,和时遇到绝对没有运气。 到目前为止,我已经尝试设置AVAudioPlayer率:
player = [[AVAudioPlayer alloc] initWithContentsOfURL:referenceURL error:&error];
player.enableRate = YES;
player.rate = 1.5;
player.numberOfLoops = 0;
player.delegate = self;
[player prepareToPlay];
[player play];
没有运气可言,播放声音,但根本不理会我给它的速度。 我也曾尝试AVPlayer:
avPlayer = [[AVPlayer alloc] initWithURL:referenceURL];
avPlayer.rate = 0.5;
[avPlayer play];
再次,它起着只是忽略了我设置的速率。 我已经尝试了多种不同的音频文件,但该线程的缘故,我选择的公鸡mono.wav从这个目录: http://sig.sapp.org/sounds/wave/
有没有人曾与改变在iOS 5.1.1播放速率任何成功? 或者没有任何人知道我在这里失踪?
我这样做是为了改变音高的轻微我的一些样品,我知道我可以通过使用RemoteIO或类似的东西做到这一点,但似乎总矫枉过正我想实现(一个简单的播放速度调整)。
这里是一些代码,我知道的作品,在应用程序我一直在工作刚刚重新测试。 你提到,使用setEnableRate:
和setRate:
只与iOS 5.0及以上工作。 所以我使用respondsToSelector:
测试设备的设备是否将接受请求上:
_noticeAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Rooster-mono" ofType:@"wav"]]
error:nil];;
if ([_noticeAudio respondsToSelector:@selector(setEnableRate:)])
_noticeAudio.enableRate = YES;
if ([_noticeAudio respondsToSelector:@selector(setRate:)])
_noticeAudio.rate = 2.0;
在iOS 5设备上运行,它成功地执行双倍速率。 在iOS 4.3上运行,它起着它以正常速度。
所以,你会得到正确率的唯一方法是,如果您的设备具有的iOS 5就可以了。
修改代码:
avPlayer = [[AVPlayer alloc] initWithURL:referenceURL];
[avPlayer play]; //call play first
avPlayer.rate = 0.5; //then set rate
这是你如何做到这一点。
率值是0.1F之间 - 2.0F
player = [[AVAudioPlayer alloc]
initWithContentsOfURL:[NSURL fileURLWithPath:path]
error:&err];
player.volume = 0.4f;
player.enableRate=YES;
[player prepareToPlay];
[player setNumberOfLoops:0];
player.rate=2.0f;
[player play];
雨燕2.0
let player = AVPlayer(URL: url)
player.play()
player.rate = 0.9