Вам не обязательно создавать экземпляры четырех различных AVAudioPlayer
объектов, хотя это один из вариантов (который может быть самым простым, если у вас только есть четыре звука).
Один выМожно было бы заранее загрузить звуки в память, что можно сделать, используя метод initWithData
вместо initWithContentsOfURL
(предварительно загрузив все ваши звуковые файлы в NSData
объекты).Это может немного ускорить процесс, хотя это также зависит от вашего звукового формата.Несжатые файлы, очевидно, будут загружаться гораздо быстрее, чем, например, MP3.
Если это все еще не работает для вас, лучше всего было бы взглянуть на некоторые из предоставленных аудиотехнологий более низкого уровня, которые больше подходят для работы в играх (OpenAL, Audio Toolbox и т. Д.),но это немного сложнее, чем простой AVVAudioPlayer
.