Я пытаюсь воспроизвести очень маленький аудиофайл - это примерно 0.05s в длину, и это несжатый WAV-файл.Звук тика должен храниться в памяти. AVAudioPlayer? SystemSounds? Core Audio?
Rgiht сейчас, я использую AVAudioPlayer
для воспроизведения звука.
Я намерен играть звук с высокой быстротой рядом с прядильщиком, a la Price Is Right или Wheel of Fortune. Если я создаю экземпляр AVAudioPlayer
с числом циклов 100, он действительно играет звук очень быстро, как я ожидал.
Если я выполняю [audioPlayer play]
на каждом «тике» счетчика, однако звук сильно падает позади. Я предполагаю, что, в отличие от установки максимального количества циклов, [audioPlayer play]
требует полной настройки и удаления памяти аудиоклипа для каждого воспроизведения.
Есть ли способ заставить клип оставаться в памяти в течение более длительного времени? Это очень частый звук, и в этом случае также будет хорошо поддерживать его во время всего запуска приложения.
У вас есть мысли о плюсах и минусах этих трех? – MikeyWard
RemoteIO - это базовый API для всех встроенных звуковых сигналов ввода-вывода и даст вам самую низкую задержку, но является самым сложным API. Звуковые очереди легче настраивать и использовать, но имеют более высокую задержку. OpenAL - это API более высокого уровня с большим количеством функций (3D-панорамирование и т. Д.), Но все же с подходящим контролем для игровых звуков. – hotpaw2
Благодарим вас за эту информацию. Прямо сейчас я просматриваю RemoteIO и AudioQueues и отправлю туда, где я использую и почему/как. – MikeyWard