Нет API для передачи нового файла в существующий экземпляр AVAudioPlayer.Однако создание AVAudioPlayer не требует больших затрат, поэтому вам не следует беспокоиться о производительности, если вы выпускаете экземпляры, как только закончите с ними.
Если у вас есть фиксированный набор звуков, которые воспроизводятся друг над другом или могут воспроизводиться неоднократно, вы можете создать один экземпляр AVAudioPlayer для каждого звука и повторно использовать эти экземпляры, вызвав play
для соответствующегоinstance.
Если за один раз воспроизводится только один звук, и вы генерируете новые звуки (например, с преобразованием текста в речь на основе пользовательского ввода), у меня обычно есть один проигрыватель в качестве свойства.Когда воспроизводится новый звук, я звоню [player stop]
, освобождаю старый плеер и создаю новый звук с новым звуковым файлом.