Я поместил кнопку в ячейку табличного представления, которая воспроизводит звук при нажатии, но - PullRequest
0 голосов
/ 07 августа 2009

Я помещаю кнопку в ячейку табличного представления, которая воспроизводит звук при нажатии, когда я нажимаю кнопку, она останавливает звук. Но нажатие другой кнопки на другой ячейке не воспроизводит другой звук, пока другая все еще играет. Я надеюсь, что при нажатии другой кнопки в другой ячейке таблицы звук воспроизведения прекратится.

Вот мой код

.h файл

Я ввожу это в @interface скобка AVAudioPlayer * talkSound;

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

1 Ответ

1 голос
/ 08 августа 2009

Я не знаю, в этом ли проблема, но вам не нужно каждый раз выпускать и перераспределять AVAudioPlayer. Просто остановка и запуск должен работать нормально, например:

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

Тогда вы можете просто выделить / запустить AVAudioPlayer один раз, возможно, в viewDidLoad.

...