2013-11-03 6 views
6

Ich möchte SpriteKit verwenden Ton zu spielen, die Frage ist, dass ich die Funktion:Wie der Ton anzuhalten, wenn SpriteKit

[SKAction playSoundFileNamed:@"sound.wav" waitForCompletion:NO]; 

Aber wenn ich will das Spiel pausieren, der Sound ist immer noch spielen .

Wie der Ton zu stoppen, wenn skview.pause zu YES gesetzt ist, und den Ton wieder aufnehmen, wenn skview.pause zu NO gesetzt?

+0

Wenn ich nicht falsch bin, sollten Sie die playSoundFileNamed Methode für die Wiedergabe von Sound-Effekte verwenden ... etwas kurz 1 oder 2 Sekunden, wie Explosion – lionserdar

+0

klingen Und auch ich glaube, es würde besser sein, wenn Sie AVAudioPlayer für Hintergrundmusik verwenden, überprüfen Sie dieses Tutorial auf raywendlich.com (http://www.raywenderlich.com/49625/sprite-kit-tutorial-space-shooter) siehe den Sound-Bereich – lionserdar

+0

können Sie auch ein Audio Engine wie ObjectAL – LearnCocos2D

Antwort

9

Es ist schon eine Weile her, aber hier ist die Grundlage dessen, was Sie mit AVAudio tun können. Ich werde Hintergrundmusik in diesem Beispiel verwenden, aber es kann auf beliebige Weise gemacht werden. Sie können dies in eine Unterklasse von SKSpriteNode einfügen, um einen benutzerdefinierten Sound zu erhalten, der von sich selbst oder anderen pausiert werden kann.

//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]; 

Dann [_player play];

Die Verwendung [_player pause] zu pausieren Gebrauch zu starten.

Und [_player stop]

Here is the documentation for it, there are some cool things you can do with it.

Verwandte Themen