#iphone #objective-c #ios #audio
#iPhone #objective-c #iOS #Аудио
Вопрос:
Есть ли какая-либо возможность предварительно загрузить песню (следующую в игре), уже играя другую. Я хочу, чтобы вторая песня начиналась сразу после первой. Как я могу добиться этого эффекта?
Ответ №1:
Создайте AVQueuePlayer, поставьте в очередь все нужные вам треки. Установите actionAtItemEnd = AVPlayerActionAtItemEndAdvance
Затем это должно воспроизводить их без перерыва. Если у вас все еще есть перерыв, попробуйте создать два отдельных AVPlayer’а, а затем переключаться между ними программно.
Ответ №2:
Для воспроизведения песни можно использовать метод schedular или timer-NSTimer….
Комментарии:
1. Для этого есть более простой способ. Я могу стать делегатом AVAudioPlayer и получить завершение воспроизведения и начать новую песню здесь. Проблема в том, что новая песня должна быть предварительно загружена в этот момент
2. Вы пробовали это… [[SimpleAudioEngine sharedEngine] Эффект предварительной загрузки:@»music.wav»];
3. Мне нужен файл .mp3. С помощью . wav все просто
4. да, вы можете использовать .mp3 вместо .wav
5. SimpleAudioEngine использует AVAudioPlayer. С его помощью невозможно предварительно загрузить более одной песни (или я не знаю как). Я попытался предварительно загрузить воспроизводимый файл one и next. Затем, если я отправлю сообщение о воспроизведении на проигрыватель, он будет воспроизводиться с последней предварительной загрузкой
Ответ №3:
Вы можете использовать движок SoundMaster. Он очень прост в использовании, просто разумно использует AVAudioPlayer. Он имеет удобный блок завершения и возможность предварительной загрузки музыки. Он может предварительно загружать несколько файлов.