Как сделать так, чтобы кнопка воспроизводила звуки в определенном порядке, используя массив? - PullRequest
0 голосов
/ 31 июля 2009

Я пишу код в Objective-C для iPhone и пытаюсь создать массив, который воспроизводит серию звуков. Например, в первый раз, когда я нажимаю кнопку, я хочу, чтобы она воспроизводила звук "0.wav" , но во второй раз я хочу, чтобы она воспроизводила "1.wav" , затем "2.wav" , "3.wav" и т. Д. Затем, когда я проиграл всего 14 звуков (до "13.wav"), я хочу запустить цикл над игрой с 0.wav. Я изучал Google и документацию по разработке Apple почти 4 дня без особой удачи. Так что, если кто-то может помочь мне сгенерировать для этого код, который будет очень признателен, и если вы не возражаете, вы можете попытаться кратко объяснить код, чтобы я мог узнать, что делает каждая часть.

Спасибо, Джои


EDIT

Хорошо, я записал часть Array (спасибо Томасу), однако ни один из нас не уверен, как реализовать soundID из массива для действия, в котором я играю звук, и как воспроизвести этот звук. Я использовал формат, который Томас использовал для своего массива ниже, если это поможет вам с вашим ответом.

Спасибо, Джои

1 Ответ

0 голосов
/ 31 июля 2009

Сначала создайте массив ваших разных звуков и переменную для хранения текущего индекса:

NSArray *sounds = [[NSArray alloc] initWithObjects:@"0.wav", @"1.wav", nil]; // add all your files here
NSUInteger currentSound = 0;

Затем, когда вы обрабатываете событие касания кнопки, переходите к следующему звуку и воспроизводите его. Если это конец вашего NSArray, вернитесь к индексу 0:

currentSound++;
if (currentSound >= [sounds count]) {
    currentSound = 0;
}

// play the sound. Just call your own method here
[self playSoundWithFilename:[sounds objectAtIndex:currentSound]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...