Если вы используете AVPlayer для воспроизведения песни с URL-адреса, то когда вы вызываете «play» на AVPlayer, он начинает загружать песню и затем воспроизводится, когда она будет готова.Я бы предположил, что это тот же функционал, если файл локальный.Если он исходит от вашего iPod, то время задержки должно быть уже очень маленьким.
Одна вещь, которую вы должны попробовать, это вызвать воспроизведение, затем сделать паузу, и AVPlayer продолжит загружать песню, поэтому при повторном вызове воспроизведения (при условии, что это не сразу) песня должна начаться без проблем.Я могу подтвердить, что это работает при воспроизведении песни с URL.Попробуйте его для своего сценария.
- (void) getPlayerReady {
// write some code here to setup the player
[player play];
[player pause];
}
- (IBAction) btnPlayTouched:(id)sender {
[player play];
}
РЕДАКТИРОВАТЬ: Я думаю, я должен также упомянуть, что AVQueuePlayer сделает это за вас.Если вы дадите AVQueuePlayer несколько песен, он автоматически буферизует следующую песню во время воспроизведения первой песни.Я не знаю, можете ли вы использовать это в своей ситуации или нет.