ich auf einem einfachen Spiel arbeite und nach jedem Bildschirm berühren, eine Animation auf einem kleinen UIImageView geschieht und dies sehr gut passieren und die App läuft reibungslos mit CADisplayLink als Timer.AVAudioPlayer Schluckauf die App manchmal
Ich fügte hinzu, eine MP3-Datei nach jeder Berührung mit 1 Sekunde lengh als AVAudioPlayer vorstellen, ein Geräusch wie zu spielen:
Also das erste Mal, dass ich den Bildschirm ersten Schluckauf berühren Bip ein geschieht die App freeze für weniger als ein Zweitens, dass ich sagen kann, dass es ok ist, denn es ist das erste Mal, dass der Sound Speicher reserviert.
Das Problem passiert später, wenn Sie den Bildschirm wieder berühren, wenn ich es früher als 3 Sekunden berühre, macht die App keinen Schluckauf, aber wenn ich 4 Sekunden und mehr warte, beginnt die App nach jeder Berührung zu schlucken.
Jedes Mal, wenn ich berühren immer wieder früher als 3 Sekunden zwischen berührt, funktioniert die App nicht Schluckauf, aber nach 4 Sekunden zwischen Berührungen, der App Schluckauf.
Jede Idee, Schluckauf zu lösen?
Dies ist ein Code benötigt, wenn
@property (nonatomic, strong) AVAudioPlayer *mySound;
- (void)viewDidLoad {
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"bip" ofType:@"mp3"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath];
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
self.mySound = newPlayer;
[mySound prepareToPlay];
[mySound setDelegate:self];
}
und nach Berührung kommt
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
if (location.x < viewWidth/2) {
[mySound play];
} else {
[mySound play];
}
}
Könnten Sie einen anderen Code zeigen, die in Ihrer Taste ist? – Ro4ch
Ich benutze keine Taste und bekomme einfach die Berührung irgendwo auf dem Bildschirm. Ich habe meine Frage für dich bearbeitet. –