如何在使用SpriteKit时暂停声音

Jav*_*vis 6 audio objective-c sprite-kit

我想用来SpriteKit播放声音,问题是我使用的功能:

[SKAction playSoundFileNamed:@"sound.wav" waitForCompletion:NO];
Run Code Online (Sandbox Code Playgroud)

但是当我想暂停游戏时,声音仍在播放.

如何停止时的声音skview.pause设置为YES,当恢复声音skview.pause设置为NO

Kee*_*ely 9

已经过了一段时间,但这是使用AVAudio可以做的事情的基础.我将在此示例中使用背景音乐,但它可以以任何方式完成.您可以将它放在SKSpriteNode的子类中,以获得可以自行暂停或其他人自定义的自定义声音.

//Add this to your imports:
#import <AVFoundation/AVFoundation.h>;

//Add the following variable in your interface.
AVAudioPlayer *player;

// Put this in an init or something of the like.
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"musicFileSound" ofType:@"wav"]];
_player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
Run Code Online (Sandbox Code Playgroud)

然后开始使用 [_player play];

利用[_player pause]暂停.

[_player stop]

这是它的文档,你可以用它做一些很酷的事情.