如何在iOS应用程序中以循环方式连续播放声音文件?

如何在iOS应用程序中以循环方式连续播放声音文件?,ios,audio,mp3,avaudioplayer,Ios,Audio,Mp3,Avaudioplayer,在iPhone的应用程序中,我希望始终如一地再现多个音频文件(与显示图像并行)。我把这些名字放进一系列音频文件和图像文件中。但是,当我尝试在启动应用程序后播放循环图像和声音时,所有声音都同时播放。我试图实现单独的启动(之后使用dispatch_),但在循环中的12个步骤后,在某些制动点发生。 我认为有任何方法可以在循环中暂停。直到当前文件播放周期结束,才继续执行下一步。但我不知道如何实施。有人能给出如何解决问题的建议或示例代码吗? 另外,我读过关于AudioPlayerDidFinishPlay

在iPhone的应用程序中,我希望始终如一地再现多个音频文件(与显示图像并行)。我把这些名字放进一系列音频文件和图像文件中。但是,当我尝试在启动应用程序后播放循环图像和声音时,所有声音都同时播放。我试图实现单独的启动(之后使用dispatch_),但在循环中的12个步骤后,在某些制动点发生。 我认为有任何方法可以在循环中暂停。直到当前文件播放周期结束,才继续执行下一步。但我不知道如何实施。有人能给出如何解决问题的建议或示例代码吗? 另外,我读过关于AudioPlayerDidFinishPlay的文章,但不知道如何在实践中使用这种方法

for (i = 0; i <= 21; i++)
  {
   double delayInSeconds = i * 4.5;
   DZpopTimeStep *tempVar = [dataPopTime objectAtIndex: i];
   tempVar.popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
   dispatch_after(tempVar.popTime, dispatch_get_main_queue(), ^(void)
           {
               //.....image
               UIGraphicsBeginImageContext(self.imageFromFile.frame.size);
               [[UIImage imageNamed:tempVar.nameColorFile] drawInRect:self.view.bounds];
               UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
               UIGraphicsEndImageContext();
               UIColor *fonMain = [UIColor colorWithPatternImage:image];
               imageFromFile.backgroundColor = fonMain;

               // ... play of sound file
               [self playSoundFile:(NSString *)tempVar.nameSoundFile];
           });
   } 

对于(i=0;i查看AVQueuePlayer,它似乎就是您要寻找的,这里有一个指向它的链接: