2011-01-08 2 views
0

Я полный новичок в программировании, и мне было интересно, как я могу иметь несколько кнопок, которые воспроизводят разные звуки. Я искал все вокруг и не могу понять эту простую задачу. Благодаря!Как я могу нажать кнопку, чтобы воспроизвести собственный звук?

+1

У вас действительно есть два разных вопроса: как определить индивидуальные нажатия клавиш (или, может быть, вы имеете в виду кнопки графического интерфейса?), И как воспроизводить звуки. У вас может быть больше удачи в поиске их отдельно. – Cascabel

+1

И вы имеете в виду iPhone или Mac? – taskinoor

ответ

1

Это простая задача, когда вы достаточно хорошо знаете об объективах C и Cocoa (Cocoa-Touch на iPhone).

Вместо того, чтобы просто искать в сети примеры, вам было бы лучше искать ссылки на то, как программировать Objective-C и Cocoa.

Шаги:

  1. В Xcode, создать класс контроллера, который имеет такой метод, как это: - (IBAction)playSound:(id)sender;
  2. Создание пользовательского интерфейса с помощью Interface Builder.
  3. Поместите нужные кнопки на этот интерфейс и настройте их метки.
  4. Для каждой из кнопок установлен цифровой тег (вы можете сделать это в построителе интерфейса).
  5. Для каждой из кнопок задается цель как контроллер, а действие - метод, который вы создали на шаге 1. (Вы делаете это с помощью ctrl, перетаскивая кнопку на объект контроллера в Interface Builder)
  6. В класс контроллера, заполнить метод, написав для цикла, который проверяет тег кнопки (которые вы можете получить через «отправитель» объект, а затем play a sound на основе тега.

в зависимости от уровня опыт Cocoa, это может не иметь смысла прямо сейчас, но если вы прочитаете ссылки и учебные пособия для Objective-C и Cocoa, каждый из этих шагов станет более понятным, и вы сможете завершить этот симплекс Задай сам.

+0

Итак, если я хотел, чтобы это петля, я бы сказал что-то вроде - (Недействительными) звук: (NSSound *) звук didFinishPlaying: (BOOL) playbackSuccessful { если (playbackSuccessful) { [я не знаю, что бы иди сюда]; } else { [infoTextField setStringValue: @ "Воспроизведено ненормально"]; } } – John

+0

Это совершенно другой вопрос. – Abizern