Я не могу сказать, является ли это лучшим решением, но для моих циклов, которые имеют вступление / выход ... Я использую несколько файлов .caf, которые смешиваются вместе: один для вступления, один для цикла и один для Outro.
После вступления цикл запускается и воспроизводится до тех пор, пока не сработает событие, из-за которого звук не зацикливается и не закончится, а затем выходной цикл сразу же начнет воспроизводиться после завершения звучания цикла.
Я использую Audacity для редактирования звуковых файлов, чтобы убедиться, что они идеально сочетаются друг с другом.
Edit:
Мое приложение использует cocos2d, поэтому я использую аудио библиотеку cocosDehension, поскольку она встроена в cocos2d. Пока звуковой файл был правильно отредактирован, он зацикливается без щелчков и щелчков.
Вот ссылка на технику, которую я использовал в Audacity, чтобы убедиться, что файл зациклен без кликов:
http://forum.audacityteam.org/viewtopic.php?f=13&t=2820#p11073