有没有办法调节通过 SKAction 播放的声音的音量 playSoundFileNamed:waitForCompletion: .
我想在我的游戏中实现一个简单的音乐和音效 slider 。我可以轻松控制背景音乐,因为我通过 AVAudioPlayer 播放它,但所有音效都是通过 SKAction 播放的。
最佳答案
这是我处理这个问题的代码
NSError *error;
NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"pew-pew-lei" withExtension:@"caf"];
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error];
[player setVolume:masterVolume];
[player prepareToPlay];
SKAction* playAction = [SKAction runBlock:^{
[player play];
}];
SKAction *waitAction = [SKAction waitForDuration:player.duration+1];
SKAction *sequence = [SKAction sequence:@[playAction, waitAction]];
[self runAction:sequence];
masterVolume 变量只是我拥有的一些预设变量,用户可以在 0.0-1.0 之间更改
waitAction 确保播放器在播放完整个声音之前不会被移除
希望这对您有所帮助!
关于ios - 调节 SKAction playSoundFileNamed : 的音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20371223/