Ich legte eine Taste auf eine Tischansichtszelle, die Sound spielt, wenn sie gedrückt werden, aber

StackOverflow https://stackoverflow.com/questions/1246574

Frage

Ich legte eine Taste auf eine Tischansichtszelle, die beim Drücken des Geräusches den Ton abspielt. Wenn ich die Taste drücke, stoppt sie den Ton. Wenn Sie jedoch eine andere Taste in einer anderen Zelle drücken, spielt es keinen weiteren Klang, während der andere noch spielt. Ich hoffe, dass beim Drücken eines weiteren Knopfes in einer anderen Tischzelle das spielerische Geräusch stoppt.

Hier ist mein Code

.h Datei

Ich tritt dies in @Interface Bracket Avaudioplayer *talksSound ein;

.m

NSString *myExamplePath = [[NSBundle mainBundle] pathForResource:@"kumusta" ofType:@"m4a"];
if (talkSound.playing) {
[talkSound stop];
[talkSound release];
}
talkSound =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:myExamplePath] error:NULL];
talkSound.delegate = self; /*with this here it says theres no delegate so i go an add AVAudioPlayerDelegate and i get tons of errors of connot find protocol declaration*/
[talkSound play];
War es hilfreich?

Lösung

Ich weiß nicht, ob dies das Problem ist, aber Sie müssen nicht jedes Mal die Avaudioplayer veröffentlichen und neu zuordnen. Einfach anzuhalten und zu beginnen, sollte gut funktionieren, wie:

if (talkSound.playing) {
    [talkSound stop];
}
[talkSound play];

Dann können Sie nur einmal die Avaudioplayer Alloc/initieren, möglicherweise in ViewDidload.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top