Как я могу предварительно загрузить .mp3 в iOS во время воспроизведения песни?

#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. Он имеет удобный блок завершения и возможность предварительной загрузки музыки. Он может предварительно загружать несколько файлов.