我创建了一个声音,我是这样播放的:
NSURL *musicFile = [[NSBundle mainBundle] URLForResource:@"My music"
withExtension:@"mp3"];
self.backgroundMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile
error:nil];
self.backgroundMusic.numberOfLoops = -1;
[self.backgroundMusic play];
但是当我改变观点时,我想停止音乐。但是慢慢地,平稳地,而不是立即。当您将应用程序置于后台时,您的音乐不会立即停止,而是在大约 0.5 秒后停止。
这可能吗?
谢谢!
最佳答案
是的,这是可能的,并且有几种方法可以实现这种“淡出”效果。
我在早期的项目中就是这样做的,对我来说效果很好
-(void)fadeOut {
if (self.backgroundMusic.volume > 0.05) {
self.backgroundMusic.volume = self.backgroundMusic.volume - 0.05;
// Volume will be zero after ~0.5 seconds
[self performSelector:@selector(fadeOut) withObject:nil afterDelay:1.0/40.0];
} else {
[self.backgroundMusic stop];
}
}
关于ios - AVAudioPlayer 缓慢降低级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713649/