мне удалось загрузить аудио файл на проигрыватель и воспроизводить его с помощью следующего метода:Xcode предварительно загружает много аудиофайлов в один AVAudioPLayer?
- (void) play:(NSString*)loop{
NSString* resourcePath = [[NSBundle mainBundle] pathForResource:loop
ofType:@"mp3"];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:
[NSURL fileURLWithPath:resourcePath]];
player.delegate = self;
[player play];
player.numberOfLoops = 1;
player.currentTime = 0;
player.volume = 1.0;
}
}
(я удалил пару строк в этой должности, но сам метод прекрасно работает)
Проблема что звук загружается только при вызове метода play(), что приводит к небольшой задержке между нажатием кнопки, вызывающей метод, и проигрыватель, играющий на нем.
У меня около 200 звуков в моем приложении, и один способ - загрузить каждый звук в свой AVAudioPLayer в viewDidLoad, но я сомневаюсь, что это считается хорошим кодом.
На Android я использую SoundPool для этой проблемы, и он отлично работает, но я не думаю, что на iOS есть эквивалент.